您的位置:首页 > 其它

vs2013或者2015界面个性化(更换背景、主题)

2017-03-27 20:28 281 查看
http://blog.csdn.net/bin_ge_love/article/details/51620504

这算是第一次写关于软件配置方面的博客,或者说教程吧,所以写的尽量详细一点。

  为了更换vs2013的背景,在网上查资料,然后自己试着弄,折腾了好久才弄好的,为了让大家少走弯路,少费点时间,所以我写一篇博客,帮助真正需要的小伙伴们。前一段时间刚配置好的vs2013主题背景,发出来先让大家看看呗

(背景图片可以自己更换哦)



本片博客主要解决win10用户上安装Visual Studio 2013 Color Theme Editor的问题

 废话不多说,下来进入正题:

1.安装需要的插件   

 1> Visual
Studio 2013 SDK(可以在vs2013--->工具---->扩展和扩展-->联机  里边搜索下载)

下载的地址: http://www.microsoft.com/en-au/download/details.aspx?id=40758





 2> Visual Studio 2013Color Theme Editor(win7用户可以在vs2013--->工具---->扩展和扩展-->联机  里边搜索下载。。。

如果不会或者嫌搜索麻烦,博客后边有更加详细的教程,往下看哦!

)

下载地址:https://visualstudiogallery.msdn.microsoft.com/9e08e5d3-6eb4-4e73-a045-6ea2a5cbdabe(可以在网上搜这个名字,下载一个就ok)



win10的系统貌似可以下载并安装 上面的 第一个插件,第二个插件安装的时候会报错,或者两个安装时都报错(win7的可以直接按上述方法试下,看报不报错)

 如果报错的话,就不要在vs2013里面下载安装了,直接在网上搜索下载并安装

关于win10,用“工具-->扩展和更新”安装会提示NET.xxx的错误或警告(估计是版本不符)

解决方案:

打开”工具”下的”扩展和更新”选择”联机”右上角搜索”Visual Studio 2013 Color Theme Editor”(注意空格,没有空格貌似会搜不到)

 


单机“Visual Studio 2013 Color Theme Editor”右边的”详细信息”,我们从网站上单独下载这个扩展包



下载后,用压缩工具打开,然后修改文件名为” extension..vsixmanifest”文件,右键编辑他(用记事本编辑噢)将其中的<Dependency Id="Microsoft.Framework.NDP"
DisplayName="Microsoft .NET Framework" Version="4.5" />这段话删除掉.



将修改好的文件重新放回” ColorThemeEditor”文件内.关掉压缩工具,点击安装.

安装成功后,打开C:\Users\13081\AppData\Local\Microsoft\VisualStudio目录(红色字体是主机账户名,你的跟我肯定不一样,所以你自己修改一下),可以看到这个目录下有两个文件夹,如图



一个有Exp后缀,一个没有.没有的这个就是成功安装“Visual Studio 2013 Color Theme Editor”的,而Exp(就是我们改了背景的VS)并没有安装,那么,我们将没有后缀文件夹内的” Extensions”文件复制到Exp后缀文件夹下,再次启动VS2013个性版.

打开“工具”→”扩展和更新”在已安装内找到“Visual Studio 2013 Color Theme Editor”启动它→重启VS2013个性版。重启后可以看到”工具”栏选项下多了

” Change color Theme ”和” Customize Colors ”

” Change color Theme ”,下拥有更多可以选择的主题.

打开” Customize Colors ”



至此,Visual Studio 2013 Color Theme Editor安装成功,以后要用的话,就在你的工具里边。

2、按照上述方法安装好两个插件后,打开vs2013

 a、 点击“文件-->新建-->项目-->在“已安装”内选择“C#”找到里面的“扩展性”选择“Visual Studio Package”→”确定”建立一个VSPackage(自定名称,如果在接下来的操作中出现问题,试试用纯字母名称建立试试?噢,对了,在”其他项目类型”里的”扩展性”也能找到“Visual Studio Package”)(安装正确的话肯定能找到)













  b、建立好项目后,打开解决方案资源管理器,右击“引用” -->“添加引用”  添加以下引用(一个一个添加)

“PresentationCore”

“PresentationFramework”

“System.Xaml”

“WindowsBase”

“System.ComponentModel.Composition”

“Microsoft.VisualStudio.CoreUtility”

“Microsoft.VisualStudio.Text.UI”

“Microsoft.VisualStudio.Text.UI.Wpf”



可以在上面 “搜索程序集”里面(右上角箭头)搜索你要添加的名称

 c、添加完成后,打开“xxxPackage.cs”(xxx就是你刚才建项目时的名字,我这里是VSPackagePackage.cs),把你原来的代码删除,将下面代码粘贴到你的文件里边

[csharp] view
plain copy

 print?

<pre name="code" class="csharp">using Microsoft.VisualStudio;  

using Company.VSPackage;////注意改掉此句中的VSPackage ,改成你的项目名称,如若找不到  

using Microsoft.VisualStudio.Shell;  

using Microsoft.VisualStudio.Shell.Interop;  

using System;  

using System.Runtime.InteropServices;  

using System.Windows;  

using System.Windows.Controls;  

using System.Windows.Media;  

using System.Windows.Media.Imaging;  

  

namespace Moen.IDEBackground  

{  

    [PackageRegistration(UseManagedResourcesOnly = true)]  

    [InstalledProductRegistration("#110", "#112", "1.0", IconResourceID = 400)]  

    [Guid(GuidList.guidVSPackagePkgString)]//注意改掉此句中的VSPackage ,改成你的项目名称,如若找不到,可在Guids.cs寻找变量名替换,头文件也需改变  

    [ProvideAutoLoad(UIContextGuids.NoSolution)]  

    [ProvideAutoLoad(UIContextGuids.SolutionExists)]  

    public sealed class IDEBackgroundPackage : Package  

    {  

        protected override void Initialize()  

        {  

            base.Initialize();  

  

            Application.Current.MainWindow.Loaded += MainWindow_Loaded;  

        }  

  

        void MainWindow_Loaded(object sender, RoutedEventArgs e)  

        {  

            var rWindow = (Window)sender;  

  

            var rImageSource = BitmapFrame.Create(new Uri(@"C:\vs 背景\11.jpg"/*图片路径*/), BitmapCreateOptions.None, BitmapCacheOption.OnLoad);  

            rImageSource.Freeze();  

  

            var rImageControl = new Image()  

            {  

                Source = rImageSource,  

                Stretch = Stretch.UniformToFill,  

                HorizontalAlignment = HorizontalAlignment.Center,  

                VerticalAlignment = VerticalAlignment.Center,  

            };  

  

            Grid.SetRowSpan(rImageControl, 4);  

            var rRootGrid = (Grid)rWindow.Template.FindName("RootGrid", rWindow);  

            rRootGrid.Children.Insert(0, rImageControl);  

        }  

    }  

}  


要注意上面的注释那块要改成创建项目时的名称 ★★★  上面图片后面的路径改成你自己图片的路径

编译运行即可得到一个新vs2013实验实例。

现在,可能你什么还看不见,或者说只能看到一些边框有图片,不要着急,马上就能看到了。

下来,我们导入一个透明的主题,这个透明的主题,我会在博客后边上传成一个文件,你到时直接下载,然后导入到你的vs里边去,就是用上面的Visual Studio 2013 Color Theme Editor导入。Import Theme按钮导入(下图)

当然,如果你嫌麻烦,我会再上传一个我自己的主题,就是你上面看到的那个背景。



导入之后,下边就会出现你导入的主题,点击主题上边的“编辑”按钮,进入如下页面(下图)



在此页面找到如下选项,并将其设置为0,

“Environment →EnvironmentBackgroundGradientXXX”

"Environment → MainWindowActiveCaption”

“Environment →MainWindowInactiveCaption”

“Environment → CommandShelfBackgroundGradientXXX”

“Environment →CommandShelfHighlightGradientXXX”

“Environment → CommandBarGradientXXX”

“Environment → CommandBarToolBarBorder”
其中如Environment →EnvironmentBackgroundGradientXXX,指Environment →EnvironmentBackgroundGradient开头的全部选项

接下来就可以看到,除了编辑器,其他地方的图片都可以显示出来。

关闭vs2013实验实例,打开原版vs2013,在刚才的文档里找到“source.extension.vsixmanifest”

进入“Assets”选项卡,单击“New”按钮。在弹出的对话框里,“Type”选“Microsoft.VisualStudio.MefComponent”,“Source”选“Aproject in current solution”,“Project”选当前的Project,目前应该就一个选项的。最后OK



接下来在项目中新建一个文件,叫“EditorBackground.cs”,代码如下

[csharp] view
plain copy

 print?

using Microsoft.VisualStudio.Text.Classification;  

using Microsoft.VisualStudio.Text.Editor;  

using Microsoft.VisualStudio.Utilities;  

using System;  

using System.ComponentModel.Composition;  

using System.Windows;  

using System.Windows.Controls;  

using System.Windows.Media;  

using System.Windows.Threading;  

  

namespace Moen.IDEBackground  

{  

    [Export(typeof(IWpfTextViewCreationListener))]  

    [ContentType("Text")]  

    [ContentType("BuildOutput")]  

    [TextViewRole(PredefinedTextViewRoles.Document)]  

    class Listener : IWpfTextViewCreationListener  

    {  

        [Import]  

        IEditorFormatMapService EditorFormatMapService = null;  

  

        public void TextViewCreated(IWpfTextView rpTextView)  

        {  

            new EditorBackground(rpTextView);  

  

            //去掉断点边栏的背景  

            var rProperties = EditorFormatMapService.GetEditorFormatMap(rpTextView).GetProperties("Indicator Margin");  

            rProperties["BackgroundColor"] = Colors.Transparent;  

            rProperties["Background"] = Brushes.Transparent;  

        }  

    }  

  

    class EditorBackground  

    {  

        IWpfTextView r_TextView;  

        ContentControl r_Control;  

        Grid r_ParentGrid;  

        Canvas r_ViewStack;  

  

        public EditorBackground(IWpfTextView rpTextView)  

        {  

            r_TextView = rpTextView;  

            r_Control = (ContentControl)r_TextView;  

            r_TextView.Background = Brushes.Transparent;  

            r_TextView.BackgroundBrushChanged += TextView_BackgroundBrushChanged;  

            r_TextView.Closed += TextView_Closed;  

            r_Control.Loaded += TextView_Loaded;  

        }  

        void MakeBackgroundTransparent()  

        {  

            r_TextView.Background = Brushes.Transparent;  

            r_ViewStack.Background = Brushes.Transparent;  

            r_ParentGrid.ClearValue(Grid.BackgroundProperty);  

        }  

        void TextView_Loaded(object sender, RoutedEventArgs e)  

        {  

            if (r_ParentGrid == null)  

                r_ParentGrid = (Grid)r_Control.Parent;  

            if (r_ViewStack == null)  

                r_ViewStack = (Canvas)r_Control.Content;  

            MakeBackgroundTransparent();  

        }  

        void TextView_BackgroundBrushChanged(object sender, BackgroundBrushChangedEventArgs e)  

        {  

            r_Control.Dispatcher.BeginInvoke(new Action(() =>  

            {  

                while (r_ParentGrid.Background != null)  

                    MakeBackgroundTransparent();  

            }), DispatcherPriority.Render);  

        }  

        void TextView_Closed(object sender, EventArgs e)  

        {  

            //清除委托,以防内存泄露  

            r_TextView.Closed -= TextView_Closed;  

            r_TextView.BackgroundBrushChanged -= TextView_BackgroundBrushChanged;  

        }  

    }  

}  

调试,进入调试即可进入实验用例VS,进入配色表,找到“Environment →EnvironmentBackground”,设为透明。再找到“Environment → Window”设置为透明,"TreeView → Background",透明度设为0。



至此,大功就告成了。。。。。。。。。

下次直接在“开始菜单->Microsoft Visual Studio 2013->Microsoft Visual Studio SDK->Tools->Start Experimental Instance of Visual Studio2013”打开编译器。或者,你也可以将打开的实验实例锁定在电脑的边侧栏

vs2013的原版还是原版,如需使用皮肤,必须使用vs2013实验实例,可在上路径找出。其他版本的vs应该都可以按照这个方法,更换主题或者背景。

主题背景链接:http://pan.baidu.com/s/1mhC9SWK    美女背景图主题

                                         http://pan.baidu.com/s/1pLeofmr     全透明主题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: