VS2010 皮肤扩展

Posted 郑军学长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2010 皮肤扩展相关的知识,希望对你有一定的参考价值。

http://www.cnblogs.com/myitm/archive/2010/04/21/1717646.html

最近的工作变动使自己的主要工作集中在Visual Studio的扩展开发上,其实这方面我已经关注和研究很长时间了,过程中发现了不少相关的资源,细到具体的技术方面:VSX,Vs.NET DSL, T4等,大到软件开发整的思想方面:领域驱动,模型驱动。当然也发现了不少开源软件,技术博客。Visual Studio Blog就是其中一个,虽然开博时间还不长,但它是Visual Studio开发团队的官方博客,主要会介绍IDE及其扩展。我会在以后的时间里同步这个博客介绍一个和大家开发过程中相关的知识,以后在工作和个人时间允许的情况下,对某个进行介绍和深入(Vs.NET DSL系列,VSX深入,模型驱动开发,开发平台或者是相关开源软件等)。 

      Visual Studio 2010会在扩展开发方面提供更加便捷的支持,它会提供一个扩展管理器(Extension Manager)来管理扩展插件,这和Eclipse有些相似,你同样可以在这里在线搜索安装插件,visual studio color theme editor就是新开发的一个插件。 
你或许使用导入导出设置来实现Vs.NET编辑器里的底色或者是代码的关键字着色方案,但是一直有人会想根据个人的喜好来改变VS.NET的整体的皮肤,Matthew Johnson开发的这个插件就是来满足这个功能,插件通过调用底层的shell color service,你可以选择或者是自定义自己的皮肤,当然这只针对VS.NET 2010 Beta2。 
       
 注意 
这个插件现在只能够控制窗体颜色,这些颜色可以通过读取IVsUIShell.GetVSSysColorEx方法,一些ToolWindow比如工具箱(ToolBox),开始页(Start Page)的颜色也是读取这个color service,所以可以直接被自定义,但是其它的一些ToolWindow,比如 解决方案(Solution Explorer),使用内置的Win32控件,所以他们是基于你的当前的Win32皮肤的,而不会被Visual Studio所覆盖(所以当你改变你的操作系统的皮肤时他们会发生变化),另外,文本编辑区(text editor),输入窗口(output window)等采用的是另外一种方案,也不会受此插件控制,他们会读取另外一个color service,这就是我们之前所使用的(在工具--选择--环境--颜色和字体里设置)。 
      color service暴露出上面种颜色提供设置,很难会发现哪个颜色对应的是哪里,不过我会介绍一种方式方便设置。 

      接下来,我们就一步一步的来使用这个插件: 
      1.安装插件:  你可以通过扩展管理器(Tools\\Extension Manager)搜索关键字 visual studio color theme editor 搜索到这个控件,或者是直接下载, 直接安装即可. 
image

2.安装完成后,你发会现上面多了一个Theme菜单,如果没有,请重新启动,或者是到Tools->Options->Environment->Extension Manager中将Load per user extensions when running as administratortt选中. 
      3.点击菜单,你会发现已经有了一些皮肤可以选择,而且出来了自定义颜色选项. 
image

      选中其中的Emerald皮肤,你会发现整个VS.NET都变了,不错: 
screenshot 

4.点击菜单中的Customize Colors,弹出来自定义颜色的管理器,内置的皮肤是不可以编辑的,点击new theme 创建新的皮肤. 
           image

           5.改变颜色,可以通过修改H L S值来控制饱和度,亮度等,有关这方面更多的介绍请见这里.我们把S的值改成-100. 
image 

           6.应用皮肤:点击上面窗口的Apply,然后关闭 窗口,你会发现新的皮肤已经在Theme菜单中了. 
image

7.另外你也可以点击颜色下拉,在弹出的窗口中利用Color picker改变RGB或者HLS的值,或者是选择系统颜色.

image  
            
           其它一些有用的功能: 
           导入/导出: 自定义的皮肤是存储在注册表里面的,但是可以导出为VSTHEME文件,从而可以导入到另外机器的Vs.NET上,使皮肤可以共享使用.不过现在导入已经存在的皮肤会覆盖,这个功能的将会改进. 
           复制粘贴:颜色的值在cell中,可以直接复制粘贴,方便编辑。 
Undo and redo:在这个自定义编辑窗口中支持撤销和重做。 
           筛选条件:右上角的筛选框使你能够通过关键字搜索皮肤。 
           Colorization:能够使不同皮肤对此此设置使用相同的颜色值。 
           image 
       

          卸载: 
          如果你在卸载此插件时,所选择的皮肤不是默认皮肤,你会发现当卸载后,Vs.NET仍然是原来的皮肤。如果要完全卸载,还需要执行以下命令: 

 

NT_USER\\Software\\Microsoft\\VisualStudio\\10.0\\UseDebugColorScheme /f<br>
  reg delete HKEY_CURRENT_USER\\Software\\Microsoft\\VisualStudio\\10.0\\ThemeColorCache /f<br>
 
 
 

以上是关于VS2010 皮肤扩展的主要内容,如果未能解决你的问题,请参考以下文章

vs 2010代码片段

vs2010用 IrisSkin2.dll皮肤控件美化WINFORM窗体 不显示皮肤也不报错 这个是啥原因呢

vc++2010设置和c#一样的代码段,vs2010 两下tab设置

VS2015 代码片段整理

VS Code如何更换主题皮肤?

vs2003:快速片段工具