繁体   English   中英

如何在 Visual Studio 中创建 C++ 项目过滤器/文件夹?

[英]How to Create C++ Project Filter/Folder in Visual Studio?

使用 Visual Studio 2012,我想创建一个名为“Include Files”的 C++ 项目文件夹,它与众所周知的文件夹“Header Files”具有相同的特征。 也就是说,包含文件中的文件有一个 cpi 扩展,将被解析出来以用于 InteliSense,也可以被预编译。

我能够创建文件夹,但其中的文件没有被解析。 我试过将类型设置为 C++ 头文件。 似乎没有任何效果。 当给定 hpp 扩展名并放入 Header Files 文件夹时,这些文件可以正常工作。

如果是像 VS2010 这样的东西,这是从工具/选项/文本编辑器对话框选项中完成的。 在树项“文件扩展名”下,您可以添加自定义文件扩展名,并使用您选择的编辑体验处理它们。

为了模拟您的情况,我执行了以下操作:

  1. 打开工具/选项/文本编辑器选项屏幕。
  2. 在右侧窗格中,在“扩展名:”框中键入“cpi”。
  3. 为编辑器选择“Microsoft Visual C++”。
  4. 选择添加/应用以将其添加到自定义扩展列表中。

照常进行。 打开任何 CPI 文件,它现在应该以与任何 c/cpp/h/hpp 等文件相同的语法突出显示和 IntelliSense 选项显示。

至少这就是我使用自定义文件扩展名的方式。 听起来您已经按照您想要的方式过滤到子文件夹中。

这里有一些关于我如何实现的原始信息, CPI ,目的类似于 .h 的自定义文件扩展名。 我的任务是创建一个动态创建 Visual Studio 2012 C++ 解决方案和项目的程序。 这是必需的,因为 VS 模板不适用于 C++,只能用于 .Net。

我创建了一个 Visual Basic 脚本文件来创建解决方案和项目文件。 它将以下 XML 插入到自定义 vcxproj 文件中。 除了None ,还有其他 XML 标记,例如 ClCompile 或 Include。 None标签似乎对我有用; 启用解析、智能感知和上下文菜单选项。

   <ItemGroup>
        [Do following pattern for each CPI file]
        <None Include="MyCPI.CPI">
            <FileType>CppHeader</FileType>
        </None>
    </ItemGroup>

我创建了以下 XML 并插入到 vcxproj.filters 文件中:

[在文件开头的 ItemGroup 中插入。 GUID 与 C++ 头文件相同。 我不确定这意味着什么。]

<Filter Include="Include Files">
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
      <Extensions>cpi</Extensions>
</Filter>

<ItemGroup>
    [Do following pattern for each CPI file]
    <None Include="MyCPI.CPI">
        <Filter>++Include Files</Filter>
    </None>
</ItemGroup>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM