Skip to content

Commit a38330a

Browse files
Merge pull request #2280 from mikeblome/mb-1026
Add info about Item Types to Property Page docs
2 parents b84fad6 + e7529d7 commit a38330a

2 files changed

Lines changed: 40 additions & 8 deletions

File tree

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,61 @@
11
---
22
title: "General Property Page (File)"
3-
ms.date: "11/04/2016"
3+
ms.date: "08/30/2019"
44
f1_keywords: ["VC.Project.VCFileConfiguration.ExcludedFromBuild", "VC.Project.VCFileConfiguration.Tool"]
55
ms.assetid: 26e3711e-9e7d-4e8d-bc4c-2474538efdad
66
---
77
# General Property Page (File)
88

9-
When a file is selected in **Solution Explorer**, the **General** property page under the **Configuration Properties** node contains the following properties:
9+
This topic applies to Windows projects. For non-Windows projects, see [Linux C++ Property Page Reference](../../linux/prop-pages-linux.md).
1010

11-
- **Exclude From Build**
11+
When you right-click on a file node **Solution Explorer**, the **General** property page under the **Configuration Properties** node opens. It contains the following properties:
12+
13+
- **Excluded From Build**
1214

1315
Specifies whether the file should be in the build for the current configuration.
1416

1517
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProjectEngine.VCFileConfiguration.ExcludedFromBuild%2A>.
1618

17-
- **Tool**
18-
19-
The tool that will be used to build this file. See [Specifying Custom Build Tools](../specifying-custom-build-tools.md) for more information.
19+
- **Content** (Applies to UWP apps only.) Specifies whether the file contains content to be included in the app package.
20+
21+
- **Item Type**
22+
23+
The **Item Type** specifies the tool that will be used to process the file during the build process. [Files whose extension is known to Visual Studio](/visualstudio/extensibility/visual-cpp-project-extensibility?view=vs-2019#project-items) have a default value in this property. You can specify a custom tool here if you have a custom file type or wish to override the default tool for a known file type. See [Specifying Custom Build Tools](../specifying-custom-build-tools.md) for more information. You can also use this property page to specify that a file is not part of the build process.
24+
25+
The following illustration shows the property page for a *.cpp* file. The default **Item Type** for this kind of file is the **C/C++ Compiler** (*cl.exe*) and the property page exposes various compiler settings that can be applied to this file only.
26+
27+
![General property page for a project item](media/file-general-item-type.png "Item type choices")
28+
29+
The following table lists the default Item Types:
30+
31+
|File extension|Item Type|Default Tool|
32+
|-|-|-|
33+
|.appx|XAML Application Definition|[App packager](/windows/win32/appxpkg/make-appx-package--makeappx-exe-)|
34+
|.hlsl, .cso|HLSL Compiler|[fxc.exe](/windows/win32/direct3dtools/fxc)|
35+
|.h|C/C++ Header|[C/C++ Preprocessor](../../preprocessor/c-cpp-preprocessor-reference.md)|
36+
|n/a|Does not participate in build|n/a|
37+
|.xml, .xslt, .xsl|Xml|[XML Editor](/visualstudio/xml-tools/xml-editor)|
38+
|.resw, .resjson|PRI Resource (UWP Apps)|[MakePri.exe](/windows/uwp/app-resources/compile-resources-manually-with-makepri)|
39+
||Media (UWP)|[App packager](/windows/win32/appxpkg/make-appx-package--makeappx-exe-)|
40+
|.xsd|XML Data Generator Tool|[XML Schema Definition Tool (Xsd.exe)](/dotnet/standard/serialization/xml-schema-definition-tool-xsd-exe) (Requires .NET workload. Not included with MSVC.)|
41+
||Manifest Tool|[mt.exe](/windows/win32/sbscs/mt-exe)|
42+
|.rc|Resource|[Windows Resource Compiler (rc.exe)](/windows/win32/menurc/resource-compiler)|
43+
|.appxmanifest|App Package Manifest|[App packager](/windows/win32/appxpkg/make-appx-package--makeappx-exe-)|
44+
|.obj|Object|[C/C++ Linker (link.exe)](cl-invokes-the-linker.md)|
45+
|.ttf|Font|n/a|
46+
|.txt|Text|n/a|
47+
|n/a|Custom Build Tool|User-defined|
48+
|n/a|Copy file|n/a|
49+
|.packagelayout|App Package Layout|[App packager](/windows/win32/appxpkg/make-appx-package--makeappx-exe-)|
50+
|.resx|Compiler Managed Resource|[Resgen.exe (Resource File Generator)](/dotnet/framework/tools/resgen-exe-resource-file-generator)|
51+
|.natvis|C++ Debugger visualization file|[Natvis framework](/visualstudio/debugger/create-custom-views-of-native-objects)|
52+
|.jpg, .bmp, .ico, etc.|Image|Resource compiler based on application type.|
53+
|.cpp|C/C++ Compiler|cl.exe|
2054

2155
To programmatically access this property, see <xref:Microsoft.VisualStudio.VCProjectEngine.VCFileConfiguration.Tool%2A>.
2256

2357
For information on how to access the **General** property page under the **Configuration Properties** node, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).
2458

25-
For non-Windows projects, see [Linux C++ Property Page Reference](../../linux/prop-pages-linux.md).
26-
2759
## See also
2860

2961
[C++ project property page reference](property-pages-visual-cpp.md)
20.7 KB
Loading

0 commit comments

Comments
 (0)