VS2010主题设置及插件推荐

本文主要写了个人使用 VS2010 的一些配置及实用插件,从而打造一个符合个人风格的开发环境。

基础设置

安装 Visual Assist X

在 VS2010 中若不安装 Visual Assist X 这个插件,直接开发 C++ 相关的项目将是非常痛苦的事情。默认环境没有对代码的不同部分进行颜色高亮显示,也没有任何的智能提示,在这种情况下想要准确写出心中所想几乎不可能。

安装前:

安装后:

显示行号

默认没有显示行号,通过 Tools->Options… 弹出的窗口进行设置:

更换字体

默认字体是新宋体,将其改为等宽字体,可以使用系统自带的 Consolas 字体,也可以下载安装其它的等宽字体。本人采用的字体是 Liberation Mono。下载该字体后进行解压,将相关的字体文件(后缀为.ttf)直接拷贝到C盘Windows目录下的Fonts目录中,拷贝完成即安装完成。

通过 Tools->Options… 弹出的窗口进行设置:

当前行及括号匹配

利用 Visual Assist X 的一些设置,显示光标所在的当前行,高亮显示光标所在的括号颜色(默认为黑色,粗体)。

大纲视图

在当前环境下,可以对一个函数进行折叠,如果能够对函数中的代码块进行折叠就更好了。VS2010 提供了该功能,只是默认设置为 False。通过 Tools->Options… 弹出的窗口进行设置:

显示效果

通过以上设置可以看下当前的显示效果,显然比最开始的要好得多。

实用插件

通过前面的基础设置我们已经有了一个比较友好的开发环境,下面通过一些插件来扩展 VS2010 的功能,使之更加完善。

我们可以通过 Tools->Extension Manager… 弹出的窗口来直接安装选择的插件,也可以在插件官网下载后再安装。

Productivity Power Tools

该插件由微软提供,包含了多个功能,通过菜单项 Tools->Options… 打开设置窗口(也可以在文件所在的 Tab 区点击右键,单击弹出的 Customize…)。

默认所有功能都处于 ON 状态,我只用了其中 4 个,设置后如下图,后面将分别进行简单的介绍。

  1. 该功能由 Document Well 2010 Plus 提供。可以将需要经常修改的文件固定在前面,这样在打开文件太多时就不需要查找。该功能有众多选项,本人只保留了下图所示选项。
  1. 该功能由 Ctrl+Click Go To Definition 提供。可以快捷的找到指定对象的定义位置。
  2. 该功能由 Align Assignments 提供。选中包含多个 = 的行,使用快捷键 Ctrl+Alt+] 将其进行对齐,该功能提供的菜单项在 Edit 下。
  3. 该功能由 Enhanced Scroll Bar 提供。提供三种模式:Scroll Bar Mode、Map Mode、Full Mode,在 Scroll Bar 上点击右键进行设置。如下图所示:

VSColorOutput

在编译工程时,如果有警告或错误,则将相关警告或错误进行高亮显示,如下图所示:

Indent Guides

在一对大括号所在的列显示一列虚线,如下图所示:

AStyle Extension

在一个项目中,保持统一的代码格式更利于代码的管理,通过该插件可以对C/C++代码进行格式化设置。

AStyle

AStyle 是一个开源项目,AStyle 插件内部集成了 AStyle.dll。可以在 AStyle 官网 下载该工具 的可执行版本(AStyle.exe 程序),在所在目录下打开命令行,输入 AStyle.exe --help 可以查看该工具的所有选项及相应的介绍。

拷贝格式

通过菜单项 Tools->Options… 打开设置窗口,点击 Edit 弹出的参数命令窗口,将下面的参数拷贝到窗口。

1--indent=spaces=4 --align-pointer=type --align-reference=type --indent-switches --indent-namespaces --indent-preproc-cond --indent-col1-comments --pad-oper --fill-empty-lines --break-closing-brackets --keep-one-line-blocks --convert-tabs --mode=c

设置格式

拷贝上面的格式后,通过点击Settings弹出设置窗口,可以看到当前的格式设置,可以根据需要进行其它修改。

自动格式化

选中 Format on save 则在文件进行保存时进行格式化,无需通过快捷键或菜单项(Edit->Advanced->Format Document(AStyle))进行设置,从而提高开发效率。

GitSccProvider

该插件是配合 Git 及 TortoiseGit 使用的,Git 用于版本控制,提供了一系列功能强大的命令,TortoiseGit 则在这些命令之上提供了直观的界面操作,使代码的版本控制更加易于管理。

如果使用 Git 及 TortoiseGit 进行版本管理,安装该插件后在 VS2010 中可以直接对代码文件进行各项操作。

设置版本控制

安装该插件后,需要修改源码控制插件,如下所示:

显示效果及操作

如下图所示,我们可以看到文件前面的小图标表明了当前文件的状态;通过右键菜单 Git 下的各子菜单可以对所选文件进行各项常用操作。

主题设置

通过之前的设置,当前的开发环境在使用及功能上已经很完善了。下面的颜色设置可根据个人需要进行修改,在此介绍下我的修改过程。

在使用 Sublime Text 2 时,尝试了自带的所有主题,最终选用了 Zenburnesque,然后参照此主题修改 VS2010 中的颜色。修改主要包括 VS2010 中的颜色设置及 Visual Assist X 中的颜色设置。修改后的颜色主要适配 C/C++ 类型代码文件,若是使用 VS2010 开发其它类型项目建议不要修改,或根据实际情况进行修改。

VS2010 颜色设置

通过菜单项 Tools->Options… 打开设置窗口,如下图所示:

需要修改的颜色如下:

Display itemsItem foregroundItem background
Plain TextRGB(222,222,222)RGB(64,64,64)
Selected Text默认RGB(160,160,192)
Inactive Selected Text默认RGB(64,64,64)
Collapsible Region默认RGB(102,102,115)
CommentRGB(156,171,143)默认
KeywordRGB(96,128,225)默认
Preprocessor KeywordRGB(255,204,102)默认
StringRGB(177,177,152)默认
VA X Find Reference默认RGB(102,102,115)

VA 颜色设置

需要将颜色修改成下图所示颜色:

显示效果

设置完后,可以看到如下显示效果,只有右面的侧边栏颜色与其它编辑区的颜色不同。

MetalMargin

该插件与 Productivity Power Tools 中的 Enhanced Scroll Bar 功能相似,只是该插件的背景色与先前设置的编辑区背景色更相近。如果没有参照主题设置进行修改则只使用Enhanced Scroll Bar功能即可,修改后可以同时使用,安装该插件并将 Enhanced Scroll Bar 的模式设置为 map Mode 即可。以下是更改后的显示效果:

导出配置

根据上面修改完毕后,可以导出主题颜色相关的配置以便在不同的电脑上进行复用。

选择导出

通过菜单项 Import and Export Settings… 打开如下窗口,选中导出设置项,然后点击 Next。

选择 Fonts And Colors

通过点击根节点的 All Settings,将其它项全都取消选中,只选中 Fonts And Colors 这一项,然后点击 Next。后面的操作没有需要注意的地方,不再介绍。

导入配置

可以将之前修改好的配置文件直接导入到 VS2010 中,无需一个个设置不同的颜色。

选择导入

选择导出操作方式一样,选择第二项 Import selected --- 即可,然后点击 Next。

备份当前配置

上一步之后,弹出如下窗口,如果之前没有备份当前的设置,建议安装默认选项进行备份,如果导入的配置不符个人喜好可以根据现在的步骤再次导入之前备份的配置文件,从而恢复成之前的配置项。

选择文件

如下图所示,选择想要导入的文件。

小结

本文主要介绍了 VS2010 的一些设置及一些比较实用的插件,从而使开发环境更具个人特色、功能更完善。在此提到的一些设置或插件在新的版本中(如 VS2017、VS2019)有些已经内置,在以后的使用中再慢慢探索。

- - - End - - -


欢迎扫码订阅我的微信公众号,以获得最佳阅读体验。
欢迎扫码订阅我的微信公众号,阅读其它相关文章。

本文作者: Lzl678
本文链接: https://www.cnblogs.com/Lzl678/p/10623982.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

转载于:https://www.cnblogs.com/Lzl678/p/10623982.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Leetcode][第785题][JAVA][判断二分图][BFS][DFS]

【问题描述】[中等] 【解答思路】 1. DFS 深度优先遍历 时间复杂度:O(NM) 空间复杂度:O(N) class Solution {private static final int UNCOLORED 0;private static final int RED 1;private static final int GREEN 2;private int[] color;privat…

[剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]

【问题描述】[中等] 235/68-1 搜索二叉树 236/68-2 二叉树 【解答思路】 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下。 class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, Tr…

Docker 查看镜像信息

Docker 查看镜像信息 原文:Docker 查看镜像信息文章首发个人网站: https://www.exception.site/docker/docker-look-up-image-info 本文中,我们将需要学习 Docker 如何查看镜像信息? 一、images 命令列出镜像 通过使用如下两个命令&#xff0…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第7篇]随机性如何辅助计算和什么是BPP类问题

这篇是密码学52件事中第7篇.我们只要把问题集中在BPP复杂类问题. 目前为止,我们已经介绍了一些复杂类: P 是一类能在多项式时间内被可确定的图灵机判定的问题.NP是一类能在多项式时间内被非确定的图灵机判定的问题.BPP是一类在多项式时间内被概率图灵机解出的问题,并且对所有…

73 forward动作

定义一个logind的jsp页面 <% page language"java" import"java.util.*" contentType"text/html; charsetutf-8"%><!DOCTYPE html> <html> <head> <meta charset"ISO-8859-1"> <title>Insert tit…

Linux系统开发之路 - 下

5、Ubuntu安装好之后&#xff0c;就可以进行开发环境的搭建。&#xff08;坚持看完有彩蛋&#xff0c;(>--..--<).jpg&#xff09;。 1&#xff09;首先安装Nodejs和Npm。 打开浏览器输入nodejs.org&#xff0c;进入页面会提示下载&#xff0c;如下图&#xff0c;选择LTS…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第8篇]交互式的定义如何帮助计算和IP类问题是什么

这是系列中的第8篇&#xff0c;我们主要讨论计算中交互作用的用处和IP类问题是什么. 什么是证明 经典的证明 交互式证明系统 [1] http://dl.acm.org/citation.cfm?id63434 [2] http://www.amazon.co.uk/Introduction-Theory-Computation-Michael-Sipser/dp/0619217642 [3] h…

线段树之扫描线思路

运用线段树扫描线方式可以解决经典的求矩形面积交问题以HDU_1542 Atlantis 题为例 线段树和扫描线是这么结合的线段树统计的是有效区间段的长度 也就是扫描线 当前扫描到的区间段是哪一个 什么意思 比如当前在哪一个段扫描 那么线段树中的t[1]中的len就是多长 线段树一般…

74 param动作

定义一个logind的jsp <% page language"java" import"java.util.*" contentType"text/html; charsetutf-8"%><!DOCTYPE html> <html> <head> <meta charset"ISO-8859-1"> <title>Insert title h…

Unknown column 'user_uid' in 'field list' sql错误解决过程

在idea中运行一直有错&#xff0c;找了好多个地方都找不到&#xff0c;以为是我的字段名字写错了&#xff0c;然而都是对的。 把错误的这个字段删了再打一遍就好了&#xff0c; 转载于:https://www.cnblogs.com/zxrxzw/p/10630164.html

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第9篇]香农对熵和信息的定义是什么?

这是计算机理论的最后一篇.我们讨论信息理论的基础概念,什么是香农定义的熵和信息. 熵 熵与确定性成反比 信息 密码学实例 [1] Thomas M. Cover and Joy A. Thomas. Elements of Information Theory ​ 2nd Edition. Wiley-Interscience, 2 edition, July 2006. [2] S. Vaj…

数据结构:(5)算法分析基础

算法时间复杂度分析 算法空间复杂度分析

[Leetcode][第35题][JAVA][搜索插入位置][二分法]

【问题描述】[中等] 【解答思路】 二分法 时间复杂度&#xff1a;O(LogN) 空间复杂度&#xff1a;O(1) public class Solution {public int searchInsert(int[] nums, int target) {int len nums.length;if (len 0) {return 0;}// 特判if (nums[len - 1] < target) {re…

数据结构:(6)其他情况的算法分析

最好&#xff0c;最坏,平均复杂度分析 递归算法的时间复杂度分析

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第10篇]RSA和强RSA问题有什么区别

这个密码学52件事数学知识的第一篇,也是整个系列的第10篇.这篇介绍了RSA问题和Strong-RSA问题,指出了这两种问题的不同之处. 密码学严重依赖于这样的假设,某些数学问题难以在有限的时间内解决.让我们看公钥(非对称)密码学,这也是这篇文章中我们使用的一个假设----**单向函数(O…

第十三期:你所了解的javascript?

在介绍JavaScript之前&#xff0c;首先让我们来简单了解一下脚本语言。大家知道&#xff0c;HTML通常用于格式化和链接文本&#xff0c;各种编程语言通常用于向机器发出一系列复杂的指令&#xff0c;而脚本语言是介于HTML和C、Java等编程语言之间的语言。脚本语言是一种简单的语…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第12篇]椭圆曲线上的群理论是什么

这是系列中的第12篇,我们继续数学背景的部分,通过介绍椭圆曲线的群理论… 椭圆曲线群定律是一种在一组椭圆曲线有理点中定义的二元操作来形成一个群的方法.现在,让我们看看到底什么意思,和这个东西怎么用 椭圆曲线和它的有理点 在椭圆曲线中加入群理论 这就是全部了吗 这和密…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第13篇]概述投影点表达的用途的优点

这是52密码学系列中第13篇,我们继续数学背景部分,通过概述投影点表达的使用和优点. TLDR - 在椭圆曲线点上的翻倍和加法操作需要一个域取逆和几个乘法操作.我们考虑域K(特征值既不是2也不是3).给定K上的一个逆运算是比乘法更花费时间的,因此用投影点坐标去计算这些操作是更有效…

第七期:Python 从入门到精通:一个月就够了!

Python 从入门到精通&#xff1a;一个月就够了&#xff01; 对于许多未曾涉足计算机编程的领域「小白」来说&#xff0c;深入地掌握 Python 看似是一件十分困难的事。其实&#xff0c;只要掌握了科学的学习方法并制定了合理的学习计划&#xff0c;Python 从 入门到精通只需要一…