使用 Code Map 理解复杂代码1 ——Visual Studio2012
第一次知道code map是在Visual Studio Ultimate 2012自带的解说上面,当时认为十分好奇,所以查了查。结果一查就是好几天。原来Visual Studio Ultimate 2012有这么多我不知道的东西。
什么是code map?
简单的说。这个工具类似反向工具一样,能够帮我们把想要看的Class关系、 Function关系,用图表关联起起来,甚至还能够点两下后,高速的寻览;用了此功能后。会更加地想要使用双屏幕的冲动。
例如以下图:
上图能够看出program类有三个方法。
上图能够看到language不知道是什么,你可双击,右击选中在图上选择“在图上显示”,点击language,属性框里显演示样例如以下。
知道这是一个枚举类型,而且作为查询结果使用。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzA2NTAyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="200" height="200" alt="">
那这个查询结果究竟是干嘛的呢?下图能够看出。这个查询结果是给greetpeople方法使用。
创建或打开代码图
若要创建代码图,须要 2 以及具有 Visual C# .NET、Visual Basic .NET、适用于 Microsoft Dynamics AX 的 X++ 或 C++ 代码(有限支持)的解决方式。
能够通过下面方式创建代码图。
笔者表示代码图不是code map这个插件中的。而是vs自带的,假设你的没有仅仅能说你的vs2012须要更新了。
详细使用:
l 在解决方式资源管理器中右键单击某个项(如源文件或二进制文件),然后选择“在代码图上显示”。
这会为所选项创建代码图。
l 将某个项(如源文件或二进制文件)从解决方式资源管理器拖动到打开的代码图上,以在图中包括和/或突出显示该项。
l 右键单击编辑器窗体的空白区域,然后选择“在代码图上显示”。
这会创建新的空代码图。
l 在编辑器窗体中右键单击某个对象或类。然后选择“在代码图上显示”。
这会为所选项创建代码图。 还能够使用此菜单在代码图中查找全部引用或或显示相关项。
l 应用程序暂停时,在“调试”菜单上单击“代码图”button。
l 从打开的 IntelliTrace 文件里。或从“体系结构”菜单中作为依赖项关系图。
l 在你与使用 Premium 或 Professional 版本号的其它人共享代码图之前,请确保代码图上的全部项是可见的,比如隐藏项、展开的组和跨组链接
在这里,笔者经经常使用打开的 IntelliTrace 文件里,或从“体系结构”菜单中作为依赖项关系图。
仅仅要ctrl我须要的类或者方法(字段等)创建一个新的关系图就能够自己主动生成的了。
使用 Code Map 理解复杂代码1 ——Visual Studio2012的更多相关文章
- 一种解决Code Map与ReSharper冲突导致Visual Studio 2013 Peek Definition失效的办法
更正 3月6号: 经再次测试,单独使用Code Map或ReSharper,对Visual Studio的Peek Definition无影响,但是两者一起使用时,Peek Definition失效, ...
- 浅尝Code Map
使用代码图调试你的应用程序:https://msdn.microsoft.com/zh-cn/library/jj739835.aspx 使用 Code Map 理解复杂代码(视频): https:/ ...
- 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器
微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...
- Arch Linux下Visual Stdio Code在格式化C代码时报错
libtinfo.so.5: cannot open shared object file: No such file or directory Arch Linux下Visual Stdio Cod ...
- Visual Studio Code - 调试 Node.js 代码
官方的文档写的太好了!大家还是看参考资料吧. 参考资料: Debugging in Visual Studio Code Debug Node.js Apps using Visual Studio ...
- 前端JS面试题汇总 Part 2 (null与undefined/闭包/foreach与map/匿名函数/代码组织)
原文:https://github.com/yangshun/front-end-interview-handbook/blob/master/questions/javascript-questio ...
- UI5 Source code map机制的细节介绍
在我的博客A debugging issue caused by source code mapping里我介绍了在我做SAP C4C开发时遇到的一个曾经困扰我很久的问题,最后结论是这个问题由于Jav ...
- VS Code使用Git管理代码
Visual Studio Code(简称VS Code)是一个轻量级且强大的代码编辑器,后台是微软,支持Windows.Mac和Linux操作系统,拥有丰富的插件生态系统,可通过安装插件来支持C++ ...
- 使用code标签获得类似代码段的效果
几乎所有的浏览器都支持 code标签 code标签, 顾名思义,就是代码标签, imply tell browser, that 后面的部分是表示计算机代码. 因此, 浏览器可以根据自己的特点来显示这 ...
随机推荐
- ios远程推送和python版push server相关笔记
今天研究了下ios的远程推送,网上的相关教程很多,做了一遍下来记录一下遇到的问题和注意事项(转载请注明) 1.证书及乱七八糟的配置 公钥:app id管理那儿的“Development Push SS ...
- No-2.注释
01. 注释的作用 使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性 02. 单行注释(行注释) 以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到 ...
- python3.x Day6 socketserver
socketserver是啥? 简化了编写网络服务器,就是对于socket的再一次封装sockerserver包含4个类可以使用:A=socketserver.TCPServer() #用于TCP/I ...
- python3.x Day4 内置方法,装饰器,生成器,迭代器
内置方法,就是python3提供的各种函数,可以认为是关键字,帮助进行一些列的牛x运算. abs()#取绝对值 all([])#可迭代对象中的所有元素都为True 则为True,只要至少一个为Fals ...
- mysql You can't specify target table 'sys_org_relation' for update in FROM clause 删除表条件不能直接包含该表
mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表( ...
- 74-A/D指标,Accumulation/Distribution,积累/派发线,离散指标.(2015.7.1)
A/D指标,Accumulation/Distribution 积累/派发线,离散指标 观井映天 2015.7.1
- The Bells are Ringing(枚举)
Description Perhaps you all have heard the mythical story about Tower of Hanoi (The details of this ...
- Uva 10305 拓扑排序
题意: 给定n个点,与m条边, 给出他们的拓扑排序. 分析: 拓扑排序可以有两种做法, 第一种是dfs, 每次都找到某一个点的终点, 然后加入序列末尾, 正在访问的标记为-1, 访问过的标记为1, 未 ...
- git-svn操作
1.git svn clone --username=chenzheng http://10.0.0.178/repos/trunk/hxqcgf/auto_accessories.admin.h ...
- 60. Spring Boot写后感【从零开始学Spring Boot】
从2016年4月15日到2016年7月20日经历长达3个月的时间,[从零开始学习Spring Boot]系列就要告一段落了.国内的各种资源都比较乱或者是copy 来copy去的,错了也不加以修正下,导 ...