【问题标题】:Setup New File Default Text设置新文件默认文本
【发布时间】:2016-01-24 00:14:28
【问题描述】:

如何设置 Visual Studio 2013 以使用默认文本填充新的 C++ 头文件和 cpp 文件?

我知道我可以创建一个自定义的 sn-p,然后按下键来插入它,但是在创建新文件时自动插入它会很好。

例如;将以下内容插入到新的 .h 文件中:

#ifndef PROJECT_NAME_FILE_NAME_H
#define PROJECT_NAME_FILE_NAME_H

class FileName
{
public:
    // Static Variables //

    // Static Methods //

    // Class Variables //

    // Class Methods //

protected:
    // Static Variables //

    // Static Methods //

    // Class Variables //

    // Class Methods //

private:
    // Static Variables //

    // Static Methods //

    // Class Variables //

    // Class Methods //

};

#endif // PROJECT_NAME_FILE_NAME_H

【问题讨论】:

标签: c++ visual-studio visual-studio-2013


【解决方案1】:

您可以更新 MSCV 提供的默认模型。

我不再安装 MSVC2013,但对于 MSVC2015,它们位于目录 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcprojectitems 中:hfile.h 用于标题,newc++file.cpp 用于 cpp 文件。

注意:要编辑这些文件,您需要以管理员权限运行您的编辑器。

另一种方法是创建您自己的项目模板。这很简单:你开始一个项目,添加一个.cpp.h,用你想要使用的内容来改变它。然后导出它(文件->导出模板...)。这里有一个step by step approach。您必须确保最后将生成的.zip 文件从您的用户目录复制到现有C++ 子文件夹中的文件夹Visual Studio 2013\Templates\ItemTemplates

重要提示:仅在启动 MSVC 时可能会考虑新模板。所以请务必退出并再次进入 MSVC 以查看添加的新模板。

在 cmets 中编辑以下附加问题

在您的模板中,您可以使用template parameters,当项目添加到项目中时会自动替换它(在导出模板的.vstemplate 文件中提供ReplaceParameters="true")。

示例:旨在确保包含保护的标头模板:

// $itemname$.h
// by $username$

#ifndef $safeitemname$_H
#define $safeitemname$_H

// TO DO: your guarded header here

#endif

使用此标头模板添加新元素时,参数替换将导致:

// my_funny_header.h
// by Christophe

#ifndef my_funny_header_H
#define my_funny_header_H

// TO DO: your guarded header here

#endif

但请注意,并非所有参数都可以使用。例如,$projectname$ 仅适用于项目模板,不适用于 itemtemplates。另请注意,在符号定义中,$safeitemname$ 应优先于 $itemname$

【讨论】:

  • 谢谢。 VS2013 上的路径是C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcprojectitems。您是否能够在这些文件中使用 VS 宏?例如#ifndef $(ProjectName)_$(TargetName)_H。目前这些在创建头文件时不会被转换。
  • @JakeM 很好!是的,您可以使用模板参数,但有一些限制。查看我的编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
  • 2012-04-11
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多