zoukankan      html  css  js  c++  java
  • DIY 一套正版、免费、强大的 Visual Studio 2012 IDE

    DIY 一套正版、免费、强大的 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 之中。

    这一步是最关键一步,下面详细说明。

    以我的电脑为例(Win7,32位)。在 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\Extensions" 
    "PkgDefSearchPath"       = "$ApplicationExtensionsFolder$; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\DataDesign; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Platform; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Architecture Tools; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Blend; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\CodeAnalysis; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\CS; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Diff; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Editor; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Editors; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\EFTools; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\ExceptionAssistant; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\External Tools\ErrLook; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Language; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\ObjectBrowser; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\ProductUpdate; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Project; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\ProjectWizards; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\ReferenceManager; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\TemplateProviders; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\TestWindow; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\VB; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\VC; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\VSLog; \ 
                                $ShellFolder$\Common7\IDE\CommonExtensions\Microsoft\Web; \ 
                                $ShellFolder$\Common7\IDE\CommonExtensions\Microsoft\Web Tooling Extensions; \ 
                                $ShellFolder$\Common7\IDE\CommonExtensions\Microsoft\WebClient\Language Service; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Windows Forms Designer Services; \ 
                                $RootFolder$\Common7\IDE\CommonExtensions\Microsoft\Windows Forms Designer UI; \ 
                                $RootFolder$\Common7\IDE\WDExpressExtensions; \ 
                                $RootFolder$\Common7\IDE\Extensions\Microsoft\VC\ClassWizard; \ 
                                $RootFolder$\Common7\IDE\devenv.vc.pkgdef;" 
    "UserExtensionsRootFolder"    = "$AppDataLocalFolder$\Extensions" 
    "RegistryRoot"                = "Software\Microsoft\VisualStudio\11.0"

    然后,在同目录下建立一个 devenv.vc.pkgdef 文件,内容为:

    // Override the VC root for templates 
    [$RootKey$\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}] 
    "DesignerTemplatesDir"="$ShellFolder$\VC\DesignerTemplates_WDExpress" 
    "ItemTemplatesDir"="$ShellFolder$\VC\VCProjectItems_WDExpress" 
    "ProjectTemplatesDir"="$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_WDExpress"

    然后,将 Microsoft Visual Studio 11.0\Common7\IDE\VWDExpress 目录复制到 Microsoft Visual Studio 11.0\Common7\IDE\Extensions 目录下。

    接着,删除扩展缓存文件。我的在 C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\11.0\Extensions 目录中,不同的系统可能在不同的位置。删除这个目录下的所有文件。

    最后一步,通过控制台程序,进入到 Microsoft Visual Studio 11.0\Common7\IDE 目录下,执行下面命令:

    .\devenv.exe /setup

    这样就得到了一个集成C#,VB,C++,Web开发的,可正常安装扩展的,支持建立虚拟目录的正版免费 Visual Studio IDE。

    image

    注:可能是加载项目模板缓存的问题,第一次启动时如果窗体假死,直接关掉它,再重新打开就好了。

    若标题中有“转载”字样,则本文版权归原作者所有。若无转载字样,本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
     
     
  • 相关阅读:
    C#设计模式之策略模式
    c#设计模式之单例模式
    关于分布式事务的实现梳理
    sql事务的使用及其技巧整理
    关于web系统整体优化提速总结
    .net导出excle无需任何插件,直接通过一个tablehtml实现
    ajax+ashx:实现文件的批量导出
    angularjs学习第九天笔记(指令作用域【隔离作用域】研究)
    angularjs学习第八天笔记(指令作用域研究)
    angularjs小练习(分别通过ng-repeat和ng-option动态生成select下拉框)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2922979.html
Copyright © 2011-2022 走看看