簡體   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