一套正版、免费、强大的 Visual Studio 2012 IDE
作为开发软件的程序员应在力所能及的情况下使用正版软件。最近一直在用VisualStudio 2012 Express Desktop/Web 版本开发项目。VisualStudio 2012 Express 是免费的功能基本上够用但是还是有很多不足如1无法安装扩展这个很致命比如想安装IronPython没办法想安装 Mono for Android没办法。2无法同时打开Winform项目、 C 项目和Web项目3解决方案下不能建虚拟目录。下面我们来一步步克服上面问题打造一款正版、免费又强大的 Visual Studio 2012 IDE。本文的初始版本在有的电脑上有问题下面是修改后的版本。第一步下载安装 Visual Studio Express for Windows Desktop 和 Visual Studio Express for Web。地址http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products下载安装之后在线注册一下就可以免费使用了。第二步下载安装 Visual Studio 2012 Shell包括 Visual Studio Integrated Shell 和 Visual Studio Isolated Shell 地址 http://msdn.microsoft.com/zh-cn/library/vstudio/bb685612.aspx这个也是免费的你可以用这个Shell开发自己的IDE工具。这个Shell 很方便安装扩展并且解决方案下能够建虚拟目录。第三步将上面的 Visual Studio Express for Windows Desktop 和 Visual Studio Express for Web 作为插件集成到 Visual Studio 2012 Shell 之中。这一步是最关键一步下面详细说明。1修改 Visual Studio Shell 的配置文件以我的电脑为例Win732位。在 Microsoft Visual Studio 11.0\Common7\IDE 目录下有三个 exe 程序devenv.exe 程序是 Visual Studio 2012 Shell 的可执行程序。VWDExpress.exe 是 Visual Studio Express for Web 的可执行程序WDExpress.exe 是 Visual Studio Express for Windows Desktop 的可执行程序。这三个程序分别对应有各自的 ×.pkgdef 文件规定了这个程序的扩展目录。devenv.exe 对应的是 devenv.pkgdef 文件。打开 devenv.pkgdef 文件将内容更改为[$Initialization$]ApplicationExtensionsFolder $RootFolder$\Common7\IDE\ExtensionsPkgDefSearchPath $ApplicationExtensionsFolder$; \$RootFolder$\Common7\IDE\CommonExtensions; \$RootFolder$\Common7\IDE\WDExpress; \$RootFolder$\Common7\IDE\WDExpressExtensions; \$RootFolder$\Common7\IDE\VWDExpress; \$RootFolder$\Common7\IDE\VWDExpressExtensions; \$RootFolder$\Common7\IDE\Extensions\Microsoft\VC\ClassWizard; \$RootFolder$\Common7\IDE\devenv.vc.pkgdef;UserExtensionsRootFolder $AppDataLocalFolder$\ExtensionsRegistryRoot Software\Microsoft\VisualStudio\11.0上面这个配置文件简单解释一下。 $RootFolder$\Common7\IDE\Extensions 是 VS Shell默认加载插件的位置一般安装的第三方插件都会安装到这个目录下。$RootFolder$\Common7\IDE\CommonExtensions 是 VS 自带的插件如 Editor 等等。$RootFolder$\Common7\IDE\WDExpress 和 $RootFolder$\Common7\IDE\WDExpressExtensions 是 Visual Studio 2012 for Desktop刨除其中的VC部分 我们将它当作插件加载进来。$RootFolder$\Common7\IDE\VWDExpress 和 $RootFolder$\Common7\IDE\VWDExpressExtensions 是 Visual Studio 2012 for Web 我们将它当作插件加载进来。$RootFolder$\Common7\IDE\Extensions\Microsoft\VC\ClassWizard 和 $RootFolder$\Common7\IDE\devenv.vc.pkgdef 的作用是将 VC 当作插件加载进来。但是 WDExpress 、 VWDExpress 和 VC 自身不是插件如果不写配置文件的话他们是加载不进来的。下面我们来写插件文件将它们配置成插件。2将 WDExpress 配置成插件进入 Common7\IDE\WDExpress 目录下添加一个名为 extension.vsixmanifest 的文本文件内容如下?xml version1.0 encodingutf-8?Vsix Version1.0.0 xmlnshttp://schemas.microsoft.com/developer/vsx-schema/2010Identifier IdWD Express..7DB76FEF-2C49-4E20-AD04-17DDE708C56BNameWD Express/NameAuthorMicrosoft/AuthorVersion1.0/VersionDescriptionWD Express Tools/DescriptionLocale1033/LocaleLicensems-pl.rtf/LicenseSupportedProductsVisualStudio Version11.1EditionPro/EditionEditionVDExpress/EditionEditionIntegratedShell/Edition/VisualStudio/SupportedProductsSystemComponenttrue/SystemComponentInstalledByMsitrue/InstalledByMsiSupportedFrameworkRuntimeEdition MinVersion2.0 MaxVersion4.5 //IdentifierReferences /ContentProjectTemplateProjectTemplates/ProjectTemplateItemTemplateItemTemplates/ItemTemplate/Content/Vsix3将 VWDExpress 配置成插件进入 Common7\IDE\VWDExpress 目录下添加一个名为 extension.vsixmanifest 的文本文件内容如下?xml version1.0 encodingutf-8?Vsix Version1.0.0 xmlnshttp://schemas.microsoft.com/developer/vsx-schema/2010Identifier IdVWD Express..7DB76FEF-2C49-4E20-AD04-17DDE708C5DDNameVWD Express/NameAuthorMicrosoft/AuthorVersion1.0/VersionDescriptionVWD Express Tools/DescriptionLocale1033/LocaleLicensems-pl.rtf/LicenseSupportedProductsVisualStudio Version11.1EditionPro/EditionEditionVWDExpress/EditionEditionIntegratedShell/Edition/VisualStudio/SupportedProductsSystemComponenttrue/SystemComponentInstalledByMsitrue/InstalledByMsiSupportedFrameworkRuntimeEdition MinVersion2.0 MaxVersion4.5 //IdentifierReferences /ContentProjectTemplateProjectTemplates/ProjectTemplateItemTemplateItemTemplates/ItemTemplate/Content/Vsix4将 VC 配置成插件devenv.vc.pkgdef 文件就是VC的插件配置这个文件是不存在的。我们在 Common7\IDE 目录下建立一个名为 devenv.vc.pkgdef 的文本文件内容如下// Override the VC root for templates[$RootKey$\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}]DesignerTemplatesDir$ShellFolder$\VC\DesignerTemplates_WDExpressItemTemplatesDir$ShellFolder$\VC\VCProjectItems_WDExpressProjectTemplatesDir$ShellFolder$\VC\VCProjects_WDExpress[$RootKey$\NewProjectTemplates\TemplateDirs\{F1C25864-3097-11D2-A5C5-00C04F7968B4}\/1]TemplatesDir$ShellFolder$\VC\VCProjects_WDExpress[$RootKey$\Projects\{7C3490A3-8632-43C5-8A60-07DC2F450870}\AddItemTemplates\TemplateDirs\{3A3E1789-3E35-47B0-8567-D2FB407CC63D}\/1]TemplatesDir$ShellFolder$\VC\VCProjectItems_WDExpress\PropertySheets[$RootKey$\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\AddItemTemplates\TemplateDirs\{F1C25864-3097-11D2-A5C5-00C04F7968B4}\/1]TemplatesDir$ShellFolder$\VC\VCProjectItems_WDExpress[$RootKey$\Projects\{8BC9CEBA-8B4A-11D0-8D11-00A0C91BC942}\AddItemTemplates\TemplateDirs\{F1C25864-3097-11D2-A5C5-00C04F7968B4}\/3]TemplatesDir$ShellFolder$\VC\VCAddClass_WDExpress[$RootKey$\Projects\{7D6034C3-AFB8-05CB-2A75-DAA65E89BE83}\AddItemTemplates\TemplateDirs\{F1C25864-3097-11D2-A5C5-00C04F7968B4}\/1]TemplatesDir$ShellFolder$\VC\VCProjectItems_WDExpress[$RootKey$\Projects\{A2FE74E1-B743-11d0-AE1A-00A0C90FFFC3}\AddItemTemplates\TemplateDirs\{F1C25864-3097-11D2-A5C5-00C04F7968B4}\/1]TemplatesDir$ShellFolder$\VC\VCNewItems_WDExpress5让Visual Studio Shell 重新加载插件接着删除插件缓存文件。我的在 C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\11.0\Extensions 目录中不同的系统可能在不同的位置。删除这个目录下的所有文件。然后通过控制台程序进入到 Microsoft Visual Studio 11.0\Common7\IDE 目录下执行下面命令.\devenv.exe /setup这样就得到了一个集成C#VBCWeb开发的可正常安装扩展的支持建立虚拟目录的正版免费 Visual Studio IDE。整个过程就是做了这么一件事情——设置配置文件将Express for Desktop/Web以及VC配置成Visual Studio的插件其它地方未作修改。