In this post, App Dev Manager Ed Tovsen spotlight the features and benefits of Code Maps in Visual Studio.


Systems architects have long used modeling to design the structure, behavior, and interaction of systems within an organization. Modeling helps to ensure that requirements are clearly defined between users and IT. Models are created with varying levels of detail throughout the application lifecycle and used as part of the development process. Typically, modeling tools assist architects in the initial stages of application conceptualize and construction. However, there are also visualization tools to comprehend existing code and find potential problems. Being able to visualize code allows for the following:

  • Learn relationships between different potions of code.
  • Map dependencies for an entire solution.
  • Understand how application modification will affect the existing code.
  • Assess the coding modifications and possible risks that may result from those changes.

The following table shows the availability of each architecture tool in Visual Studio.


UML designers have been removed from Visual Studio 2017 due to lack of usage within the community.

Code Maps

This blog article is a quick start for code maps, the visualization tool provided with Visual Studio. Code maps provide the following capabilities.

  • When debugging, a code map allows a user to visually comprehend relationships within applications and methods on the call stack.
  • When executing a code review, a code map can be a tool used during the systematic examination to find vulnerabilities.
  • When working with unfamiliar or legacy code, a code map provides navigation with a visual experience.

If the Architecture item does not appear in the Visual Studio menu, please follow these steps to install code map. Execute the Visual Studio Installer and select the Individual components item. Scroll down to Code tools, check the box next to Code Map, and click on the Modify button.

In order to generate a code map for an existing solution, click on the Architecture item in the Visual Studio menu and select Generate Code Map for Solution.

After the code map is generated, the diagram is displayed.

Browse and rearrange the code map by expanding, grouping, filtering, and drilling-down the elements within the diagram.

Lastly, Visual Studio includes code map analyzers to identify complex code that could possibly be improved. To run the code map analyzers, click on the Layout item in the Code Map menu, click Analyzers, and select the analyzer (Circular Reference Analyzer, Find Hubs Analyzer, Unreferenced Nodes Analyzer).

While architects are experienced using modeling tools to design systems, they may not be familiar visualizing applications that have been previously written. Code maps are that tool for understanding existing code. Architects can compare design models to actual code, and developers can debug and review code.

Visualize Code with Visual Studio的更多相关文章

  1. 在visual studio code和visual studio中编写TypeScript文件自动生成JavaScript文件

    注:此处的自动生成都为保存ts文件时自动生成js文件 VS CODE 只需要在TypeScript的终端控制台中输入如下命令即可,并注意需要将其中的*换成对应的文件名,此处的*似乎不能作为通用匹配. ...

  2. Visual Studio Code 和Visual Studio插件收集(持续更新)

    Visual Studio Code 插件收集 Chinese (Simplified) Language Pack 默认刚安装的VSC是原味英文的,如果你用不习惯,非常简单,官方出品的简体中文语言包 ...

  3. build MYSQL source code Using visual studio 2017

    https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html cmake .. -G "Visual ...

  4. Version Controlling with Git in Visual Studio Code and Azure DevOps

    Overview Azure DevOps supports two types of version control, Git and Team Foundation Version Control ...

  5. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  6. C# on Visual Studio Code

    installation Download .NET Core SDK installer and install it. https://www.microsoft.com/net/download ...

  7. News: Visual Studio Code support debugging Linux Apps

    http://arstechnica.com/information-technology/2015/11/visual-studio-now-supports-debugging-linux-app ...

  8. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  9. 学习笔记之Visual Studio Code & Clang

    Mac上XCode太占空间,卸载然后安装VSCode和Clang.在VSCode中再安装extension C/C++和Code Runner,配置Tasks: Configure Task,就可以开 ...

随机推荐

  1. 腾讯面试题,js处理1千万条数据排序并且页面不卡顿

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. loj#2531. 「CQOI2018」破解 D-H 协议(BSGS)

    题意 题目链接 Sol 搞个BSGS板子出题人也是很棒棒哦 #include<bits/stdc++.h> #define Pair pair<int, int> #defin ...

  3. PostGIS计算矢量切片(一)--渲染数据

        没写错,是使用postgis计算出来矢量切片.在这之前先准备一个数据:一个GIS数据表(本例中数据为一百万的点数据,坐标:4326),并在表中添加x,y字段,方便后面的数据筛选.sql中用到了 ...

  4. 查询SQLSERVER执行过的SQL记录(历史查询记录)

    有的时候,需要知道近段时间SQLSERVER执行了什么语句,可以用下面的方法: SELECT TOP 1000 QS.creation_time, SUBSTRING(ST.text, (QS.sta ...

  5. Android ScrollView和ListView滑动冲突解决记录

    private int mLastX; private int mLastY; public View.OnTouchListener onTouchListener = new View.OnTou ...

  6. Java 8 的Lambda表达式

    第一次看到用lambda表达式写出来的Java代码时,我对这种神秘的语法感到非常不理解,认为这样的Java搞得不可读.没有专门的去学习和认识,今天花了几个小时写了示例的练习后,我开心的看到了更清晰的J ...

  7. (办公)mysql连接不上(java.sql.SQLException: null, message from server: "Host 'LAPTOP-O0GA2P8J' is not allowed to connect to this MySQL server")(转)

    转载自csdn文章:https://blog.csdn.net/Tangerine_bisto/article/details/803461511.对所有主机进行访问授权 GRANT ALL PRIV ...

  8. 深入理解Mysql索引的底层数据结构 B+ Tree (1)

    关键字的个数等于路的个数减1. 一个二叉树节点可以存储4kb大小的数据,假如关键字是整型的一个关键字占用4byte,其他数据冗余4个字节 4 kb = 4*1024 byte = 4096 byte. ...

  9. Operating system error 32(failed to retrieve text for this error. Reason: 15105)

    一台数据库服务器的事务日志备份作业偶尔会出现几次备份失败的情况,具体的错误信息为: DATE/TIME:    2018/7/30 12:10:52 DESCRIPTION: BackupDiskFi ...

  10. 伙伴系统之伙伴系统概述--Linux内存管理(十五)

    在内核初始化完成之后, 内存管理的责任就由伙伴系统来承担. 伙伴系统基于一种相对简单然而令人吃惊的强大算法. Linux内核使用二进制伙伴算法来管理和分配物理内存页面, 该算法由Knowlton设计, ...