0

我在 Visual Studio 2008 中使用 Visual Assist X。我正在定义一堆前向声明文件,所有这些文件的格式基本相同:

namespace ns1 { namespace ns2 {
    class SampleClassName;
    boost::shared_ptr<SampleClassName> SampleClassNamePtr;
}}

显然,我还添加了标头保护、生成的文件注释以及我们的编码标准要求的其他内容(并且命名空间不是占位符)。

这就是问题所在:我们为这些文件命名SampleClassNameForward.h,因此使用 $FILE_BASE$ 占位符将无法正常工作。有没有办法让我应用正则表达式并在 $FILE_BASE$ 展开后,但在将代码段粘贴到我的文件之前,从 $FILE_BASE$ 中删除“转发”?如果我能做到这一点,那么我可以完全自动生成这些前向声明,并为自己(和我的同事)节省大量时间。

4

1 回答 1

1

不,Visual Assist 没有任何工具可以支持您想要的文件名的正则表达式修改。

另一种方法是创建一个 VA Snippet,用于在临时文件中创建代码块。

  • 创建一个包含所有样板代码的 VA Snippet。
  • 将 $SymbolName$Forward.h 添加到代码顶部。
  • 调用空临时文件中的代码段。
  • 在编辑器顶部剪切生成的 FooForward.h 文本。
  • 全选(ctrl+a)。
  • 调用 VAssistX | 重构 | 将选择移动到新文件
  • 此时,系统会提示您输入新文件的名称,并且可以粘贴先前剪切的文本 (FooForward.h)。

将选择移动到新文件将在与当前文件相同的目录中创建新文件,并将其添加到它所在的相同项目中。

于 2014-02-27T18:23:19.757 回答