Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il file di filtri (*.vcxproj.filters
) è un file XML in formato MSBuild che si trova nella cartella del progetto radice. Specifica i tipi di file in cui passare la cartella logica in Esplora soluzioni. Nella figura seguente i .cpp
file si trovano nel nodo File di origine. i .h
file si trovano nel nodo File di intestazione e .ico
i .rc
file si trovano in File di risorse. Questa posizione è controllata dal file di filtri.
Esplora soluzioni viene visualizzato con chiamate per i nodi seguenti: File di intestazione (che contiene file come MFCApplication1.h), File di risorse (che contiene file come MFCApplication1.ico) e File di origine (che contiene file come MFCApplication1.cpp).
Creazione di un file di filtri personalizzato
Visual Studio crea automaticamente questo file. Per le applicazioni desktop, le cartelle logiche predefinite (filtri) sono: File di origine, File di intestazione e File di risorse. Altri tipi di progetto, ad esempio UWP, potrebbero avere un set diverso di cartelle predefinite. Visual Studio assegna automaticamente i tipi di file noti a ogni cartella. Se si desidera creare un filtro con un nome personalizzato o un filtro che contiene tipi di file personalizzati, è possibile creare un file di filtri personalizzato nella cartella radice del progetto o in un filtro esistente. I riferimenti e le dipendenze esterne sono cartelle speciali che non partecipano al filtro.
Esempio
Nell'esempio seguente viene illustrato il file di filtri per l'esempio illustrato in precedenza. Ha una gerarchia piatta; in altre parole, non sono presenti cartelle logiche annidate. Il nodo UniqueIdentifier
è facoltativo. Consente alle interfacce di automazione di Visual Studio di trovare il filtro. Extensions
è anche facoltativo. Quando un nuovo file viene aggiunto a un progetto, viene aggiunto al filtro più in alto con un'estensione di file corrispondente. Per aggiungere un file a un filtro specifico, fare clic con il pulsante destro del mouse sul filtro e scegliere Aggiungi nuovo elemento.
L'oggetto ItemGroup
che contiene i ClInclude
nodi viene creato al primo avvio del progetto. Se si generano file vcxproj personalizzati, assicurarsi che tutti gli elementi del progetto abbiano anche una voce nel file di filtri. I valori in un ClInclude
nodo eseguono l'override del filtro predefinito in base alle estensioni di file. Quando si usa Visual Studio per aggiungere un nuovo elemento al progetto, l'IDE aggiunge una singola voce di file nel file di filtri. Il filtro non viene riassegnato automaticamente se si modifica l'estensione del file.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="MFCApplication1.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="MFCApplication1Dlg.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="stdafx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="targetver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Resource.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="MFCApplication1.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="MFCApplication1Dlg.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="MFCApplication1.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<None Include="res\MFCApplication1.rc2">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Image Include="res\MFCApplication1.ico">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
</Project>
Per creare cartelle logiche annidate, dichiarare tutti i nodi nei filtri ItemGroup
come illustrato di seguito. Ogni nodo figlio deve dichiarare il percorso logico completo all'elemento padre più in alto. Nell'esempio seguente è necessario dichiarare un oggetto vuoto ParentFilter
perché viene fatto riferimento nei nodi successivi.
<ItemGroup>
<Filter Include="ParentFilter">
</Filter>
<Filter Include="ParentFilter\Source Files"> <!-- Full path to topmost parent.-->
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> <!-- Optional-->
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> <!-- Optional -->
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
</ItemGroup>