第一次知道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的更多相关文章

  1. 一种解决Code Map与ReSharper冲突导致Visual Studio 2013 Peek Definition失效的办法

    更正 3月6号: 经再次测试,单独使用Code Map或ReSharper,对Visual Studio的Peek Definition无影响,但是两者一起使用时,Peek Definition失效, ...

  2. 浅尝Code Map

    使用代码图调试你的应用程序:https://msdn.microsoft.com/zh-cn/library/jj739835.aspx 使用 Code Map 理解复杂代码(视频): https:/ ...

  3. 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器

    微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...

  4. Arch Linux下Visual Stdio Code在格式化C代码时报错

    libtinfo.so.5: cannot open shared object file: No such file or directory Arch Linux下Visual Stdio Cod ...

  5. Visual Studio Code - 调试 Node.js 代码

    官方的文档写的太好了!大家还是看参考资料吧. 参考资料: Debugging in Visual Studio Code Debug Node.js Apps using Visual Studio ...

  6. 前端JS面试题汇总 Part 2 (null与undefined/闭包/foreach与map/匿名函数/代码组织)

    原文:https://github.com/yangshun/front-end-interview-handbook/blob/master/questions/javascript-questio ...

  7. UI5 Source code map机制的细节介绍

    在我的博客A debugging issue caused by source code mapping里我介绍了在我做SAP C4C开发时遇到的一个曾经困扰我很久的问题,最后结论是这个问题由于Jav ...

  8. VS Code使用Git管理代码

    Visual Studio Code(简称VS Code)是一个轻量级且强大的代码编辑器,后台是微软,支持Windows.Mac和Linux操作系统,拥有丰富的插件生态系统,可通过安装插件来支持C++ ...

  9. 使用code标签获得类似代码段的效果

    几乎所有的浏览器都支持 code标签 code标签, 顾名思义,就是代码标签, imply tell browser, that 后面的部分是表示计算机代码. 因此, 浏览器可以根据自己的特点来显示这 ...

随机推荐

  1. ios远程推送和python版push server相关笔记

    今天研究了下ios的远程推送,网上的相关教程很多,做了一遍下来记录一下遇到的问题和注意事项(转载请注明) 1.证书及乱七八糟的配置 公钥:app id管理那儿的“Development Push SS ...

  2. No-2.注释

    01. 注释的作用 使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性 02. 单行注释(行注释) 以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到 ...

  3. python3.x Day6 socketserver

    socketserver是啥? 简化了编写网络服务器,就是对于socket的再一次封装sockerserver包含4个类可以使用:A=socketserver.TCPServer() #用于TCP/I ...

  4. python3.x Day4 内置方法,装饰器,生成器,迭代器

    内置方法,就是python3提供的各种函数,可以认为是关键字,帮助进行一些列的牛x运算. abs()#取绝对值 all([])#可迭代对象中的所有元素都为True 则为True,只要至少一个为Fals ...

  5. 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这个表( ...

  6. 74-A/D指标,Accumulation/Distribution,积累/派发线,离散指标.(2015.7.1)

    A/D指标,Accumulation/Distribution 积累/派发线,离散指标 观井映天 2015.7.1

  7. The Bells are Ringing(枚举)

    Description Perhaps you all have heard the mythical story about Tower of Hanoi (The details of this ...

  8. Uva 10305 拓扑排序

    题意: 给定n个点,与m条边, 给出他们的拓扑排序. 分析: 拓扑排序可以有两种做法, 第一种是dfs, 每次都找到某一个点的终点, 然后加入序列末尾, 正在访问的标记为-1, 访问过的标记为1, 未 ...

  9. git-svn操作

    1.git svn clone --username=chenzheng   http://10.0.0.178/repos/trunk/hxqcgf/auto_accessories.admin.h ...

  10. 60. Spring Boot写后感【从零开始学Spring Boot】

    从2016年4月15日到2016年7月20日经历长达3个月的时间,[从零开始学习Spring Boot]系列就要告一段落了.国内的各种资源都比较乱或者是copy 来copy去的,错了也不加以修正下,导 ...