是否可以自定义内置的Visual Studio 2010 C ++项目向导?

时间:2011-02-15 10:08:53

标签: visual-studio visual-studio-2010 vs-extensibility

我需要创建一个自定义的C ++项目向导,它与内置的c ++向导相同。哪种类型无关紧要。它可能是控制台类型的项目。

我需要更改的只是添加自定义包含目录的路径和自定义库目录的路径。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我想你想看一下项目模板。

http://msdn.microsoft.com/en-us/library/s365byhx.aspx

答案 1 :(得分:0)

这是编写新向导的链接 http://msdn.microsoft.com/en-us/library/7k3w6w59.aspx

我建议在属性表中存储自定义路径等类型的设置。 (.props文件。)然后,您可以稍后改变主意,让此更改影响多个项目。您的向导可以简单地将此.props文件添加到.vcxproj。我也更喜欢.props文件,因为你也可以定义vcxproj和其他.props文件可以使用的其他用户宏。

http://msdn.microsoft.com/en-us/library/a4xbdz1e.aspx

内置向导位于[vsinstalldir] \ vc \ VCWizards \ AppWiz中 注册这些项目类型的其他文件位于[vsinstalldir] \ vc \ VCprojects \ 您可以更改它们或复制它们以获得其余的c ++向导功能。

其他想法:

你可能会注意到.vcxproj通常有这样一个条目:

  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
        <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>

这意味着现有向导创建了一个条目,该条目尝试绑定到用户属性表(如果存在)。

c:\users\<username>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemDefinitionGroup>
     <ClCompile>
       <AdditionalIncludeDirectories>c:\Custom\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
   <ItemDefinitionGroup>
</Project>

我推荐第二个想法。添加include,lib路径和其他类型的设置是常见的场景,现有的向导允许通过引用用户属性表来实现此目的。