HOWTO: Make VC++ Recognize File Extensions as C/C++ Files
ID: Q181506
|
The information in this article applies to:
-
Microsoft Visual Studio versions 97, 6.0
-
Microsoft Visual C++, 32-bit Editions, versions 4.0, 4.0a, 4.1, 4.2, 4.2b, 5.0, 6.0
SUMMARY
Microsoft's Visual C++ Integrated Development Environment (IDE) recognizes
the following file extensions as C++ source files: .c, .cpp, and .cxx. In
some cases, a programmer may want to use other file extensions for C++
files; for example, Unix C++ source files often use the .cc extension.
Using the steps in this article, source files with other file extensions
may benefit from the Visual C++ IDE's syntax coloring, automatic
indentation, and other usage enhancements. This article describes how to
automatically compile such files as C/C++ and associate the C++ icon with
these files in Windows Explorer.
MORE INFORMATION
The following procedure causes the Visual C++ IDE to recognize extensions
other than .c, .cpp, and .cxx as a C/C++ source file. These changes involve
altering registry settings.
WARNING: Using Registry Editor incorrectly can cause serious, system-wide
problems that may require you to reinstall Windows to correct them.
Microsoft cannot guarantee that any problems resulting from the use of
Registry Editor can be solved. Use this tool at your own risk.
Microsoft STRONGLY recommends saving the current registry settings before
starting this procedure. For additional information, please see the following
articles in the Microsoft Knowledge Base (the second link applies
to Windows 95 as well):
Q103280 Using an Emergency Repair Disk Created by Windows NT
Q164931 Using Regedit to Backup Your Windows NT Registry
To start the Registry Editor:
- Close any running instances of Developer Studio.
- On the Start menu, click Run.
- Type regedit and click OK to start the
Registry Editor.
In the Registry Editor, repeat the following four steps for each new file
extension to associate with a C/C++ icon. These steps illustrate how to
associate the .cc file extension with the C++ source file icon:
- Right-click HKEY_CLASSES_ROOT and select New | Key.
- A key name will appear; change New Key #1 to .cc (the period is mandatory).
- Click the new .cc key, then double-click Default in the right-hand pane
of the Registry Editor.
- In the Value Data field, type cppfile.
Click OK.
NOTE: To associate a file extension with the C source file icon, use
cfile instead of cppfile. The values hppfile and hfile associate
file extensions with C++ and C header file icons, respectively. (In Windows
Explorer, the appropriate icon should now accompany files with the
extension added in steps 1 through 4. Clicking the icon will launch Visual
C++. Don't do this just yet, though.)
The following steps apply to keys and values located on the home key. In
the Registry Editor, locate the user settings home key for Developer
Studio. For various versions, the home key is:
Version 6.0 (ships with Visual Studio 6.0)
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\
Version 5.0 (ships with Visual Studio 97)
HKEY_CURRENT_USER\Software\Microsoft\DevStudio\5.0\
Versions 4.x
HKEY_CURRENT_USER\Software\Microsoft\Developer
The following registry keys cause the IDE to load the C/C++ compiler tool
for the specified file extensions (.cc illustrated):
- Locate the following keys under Build System\Components\Platforms:
Win32(ALPHA)\Tools\C/C++ Compiler for Alpha Win32(PowerPC)\Tools\C/C++ Compiler for PowerPC Win32(x86)\Tools\C/C++ Compiler for 80x86
If WinCE 2.0 is installed, the following keys will also be present:
Win32(WCE x86em)\Tools\C++ Compiler for 80x86em (Emulation) Win32(WCE MIPS)\Tools\C/C++ Compiler Mips R4100 Win32(WCE SH)\Tools\C/C++ Compiler for SH
- Each of those keys has a setting called Input_Spec. Double-click
Input_Spec; then, in the Value Data field, add ;*.cc to the end of
the existing list of extensions. Click OK.
The following registry key determines the file extensions selected for
syntax coloring, smart indentation, and so on:
- Locate the key Text:
Editor\Tabs/Language Settings\C/C++
- Double-click the FileExtensions setting; add ;cc to the end of the
existing list of extensions. Click OK.
- Close the Registry Editor.
- Start Developer Studio and create a new file or open an existing one
with the extension(s) just added. Syntax coloring and automatic
indentation should be in effect.
NOTE: The new extensions will not appear in the Files of type list when
you click Open on the File menu. Use All Files (*.*) to view files with
nonstandard extensions. Alternatively, double-click the file from Windows
Explorer; once it loads into Visual C++, right-click inside the file's
window and select Insert File into Project to add the file to a project.
NOTE: External makefiles that are generated from Developer Studio will not have the correct inference rules for new file extensions. Inference rules must be added by either copying existing rules within the makefile (for example, adding SUFFIXES:.cc at the beginning of the makefile and copying the .cpp.obj: rule to create a .cc.obj: rule), or by adding rules in the TOOLS.INI file.
Although the IDE starts the C/C++ compiler tool for the file extensions
added in the steps above, the compiler needs to know whether to compile the
file as C or C++. The compiler normally compiles .c files as C, and
compiles .cpp and .cxx as C++. For all other extensions, the compiler needs
an explicit parameter: /TC compiles files as C, /TP compiles files as C++.
Each project that includes files with custom extensions needs an explicit
/TC or /TP parameter. The following steps illustrate how to do this:
- Open a project in Developer Studio.
- Click Settings on the Project menu.
- In the resulting dialog box, select the configuration and project.
- Click the C/C++ tab.
- In the Project Options text box at the bottom, add /TP or /TC to the
end of the listed options. Click OK.
This setting treats ALL source files built by the CL compiler tool in the
project as C++ (/TP) or C (/TC) files (the project options cannot be edited
on a per-file basis). The entire project now uses either the C++ compiler
or the C compiler. To treat individual files in a project as C++ or C
source files, use the /Tp<source file> or /Tc<source file> settings. See
REFERENCES for more information on the use of compiler settings.
If necessary, a custom build step can launch the C/C++ compiler (CL.EXE)
with settings specific to a single file. This is less desirable, because
the custom build step requires explicitly listing all of the compiler
options. See REFERENCES for online documentation of instructions on adding
a custom build step.
REFERENCESVisual C++ Programmer's Guide, Compiling and Linking, Details, Compiler Reference.
Visual C++, Developer Studio Environment User's Guide, Working With
Projects, How Do I... Topics: Working With Projects, Customizing a Build
Process.
Additional query words:
Keywords : kbCompiler kbide kbVC400 kbVC410 kbVC420 kbVC500 kbVC600 kbGrpDSTools kbvc600faq
Version : WINDOWS:6.0,97; winnt:4.0,4.0a,4.1,4.2,4.2b,5.0,6.0
Platform : WINDOWS winnt
Issue type : kbhowto
|