代码改变世界

分享一个不错的VS插件——CodeMap

2011-09-28 10:16  elivsit  阅读(3155)  评论(1编辑  收藏  举报

在 Visual Studio 2010 里写程序虽然有语法高亮度显示,但是在开启档案后阅读较大的程序代码档还是不太方便,因为你无法快速的理解目前该档案的程序代码结构,例如说该档案里有几 个类别、几个接口、彼此有继承关系、几个批注或 #region 等等,但我们透过 VS10x Code Map v2 这个扩充套件便可透过不同的颜色、图示得知目前程序代码的结构,只要你跟他混熟了,相信你可以不用看完整份原始码就能知道目前程序代码的结构,对需要 Code Review 的人来说可谓是必备工具!

  你可以从 Visual Studio 2010 的扩充管理员进行套件安装,开启后点选 在线图库 分类,然后在右上角的搜寻文字框输入 VS10x Code Map 就可以查到 VS10x Code Map v2 项目。

  安装好之后开启任何一个类别档,你就可以从程序代码编辑器的左边出现 VS10x Code Map 的辅助窗口,接下来我就来介绍我觉得最有用的 VS10x Code Map 的六大功能特性:

  1. 将程序代码可视化 ( Code Visualization )

  如下图示看到的每一个小细节都代表着一个意义,例如粗体代表型别名称、绿色的加号(+)代表建构子、井号开 头的代表 #region 区段,若右边的显示加号(+)就代表该区段可以展开、不同的型别成员有不同的图示、若该类别实做接口会再该类别内加上接口的协体标头并加上虚线框、淡紫色 的底色代表类别、淡绿色的底色代表接口、不同的型别会有不同的底色、…,等你日后熟悉了、看仔细了,你会发现透过这种方式阅读程序代码真的很快,而且很容 易快速理解该类别档案的程序代码结构。

  2. 程序代码折迭与同步更新 ( Code Collapsing and Sync )

  这个辅助窗口会跟程序代码编辑器里的原始码同步更新,例如你将特定类别折迭起来,你从 VS10x Code Map 就可以立即看到两边同步更新:

  如果你在类别中修改了类别名称、新增了其他型别,其 VS10x Code Map 窗口的内容都会不断更新,不过为了显示效率,你在修改原始码的时候 VS10x Code Map 窗口里得信息并不会实时更新(会差个几秒),如需立即更新只要在 VS10x Code Map 窗口按下右键点选 Refresh 即可。

 

  不单单只是你在程序代码编辑器里编辑程序代码结构会连动更新 VS10x Code Map 的内容,你甚至还能直接从 VS10x Code Map 窗口对原始码进行编辑,如下图就是直接从 VS10x Code Map 移除部分原始码:

3. 导览与历史编辑纪录 ( Persistent History )

VS10x Code Map 窗口你用鼠标点选方法名称就会让程序代码编辑器自动跳到该方法的第一行,而且你对该方法进行编修的同时 VS10x Code Map 也会帮你记忆你上次编修的行号,并在 VS10x Code Map 出现一个很像时钟的图示 (如下图箭头指向的地方),一个档案 VS10x Code Map 会帮你记忆最近 5 次编修的位置。

 

  备注:上图绿色的箭号代表目前光标在程序代码中的位置。

  之后,当你点选方法名称一样会跳到第一行 (如上图第 175 行),但你点选这个蓝色时钟的图示就会直接跳到你上次在这个方法编辑的位置 (如上图第 188 行),实在非常贴心的设计。

  除此之外,VS10x Code Map 还加强了程序代码编辑器的垂直滚动条,你可以在滚动条的左侧看到一个窄窄的一条垂直线 (这个称为 Scroll Map ),你只要看到蓝色底的区段就代表这个方法有被编修过!

 

如果要清除这些历史纪录可以在 VS10x Code Map 窗口点选右键执行 Clear Local History 选项。

  4. 高亮度显示我的最爱项目 ( Highlighting Favorite Items )

  对一些必须经常照访的程序代码,你可以将其标注为我的最爱 (Favorite),如下图为标注的方式:

  标注为 Favorite 之后在画面上会有三个改变:

  1. 在 VS10x Code Map 窗口会出现一个红色的星星图示(代表为我的最爱)

  2. 在程序代码编辑器中的该程序代码区段会显示淡淡的红紫色当底色,以强调这区段是我的最爱

  3. 当你把部分程序代码标注为 Favorite 之后会在 Scroll Map 出现红紫色,方便你快速辨识你最爱的程序代码所在这份程序代码的位置,也可以点击这个区块让光标快速跳到这里,这对数千行的类别来说找程序代码变的非常方便!

  5. 自定义具名书签 ( Named Bookmarks )

  我们都知道在 Visual Studio 2010 就有内建书签功能,不过要搭配好用的快捷键才会好用,但用了 VS10x Code Map 之后,你自然不会想再用 Visual Studio 2010 内建的书签功能,因为使用 VS10x Code Map 更加可视化、更加清楚明了,使用的方式跟一般我们在程序代码中使用批注一样,只是要在批注的最前面特别加上 BMK 即可,如下图示:

  备注:具名书签会出现在 VS10x Code Map 窗口所在型别的最上面。

  6. 快速筛选成员 ( Filtering )

  在大类别中寻找特定类别成员有时后不见得会好找,尤其是你记得的 Keyword 不是方法名称的开头时特别有用,而且搜寻中文也没问题!

  注意:要显示筛选文本框的方式是将鼠标移至 VS10x Code Map 上方的橘色那一条线上面 1 秒钟!