Vs 除了有“宇宙第一IDE”的名号之外。还有众多功能强大的功能,但即便是入行多年的老鸟,有时候会发出”VS还有这种功能”的惊叹。掌握了下面的功能的使用,让你的工作效率立马翻番,上班摸鱼从此不再是梦。
1,Live Share
功能说明:多人实时编码,真正意义上的多人+实时,而不是代码同步或者其他手段。
实用度:五颗星★★★★★。
点评:Live Share实现了真-结对编程。
使用方法:
步骤1:打开项目后,直接点击右上角的“live share”,会生成一个链接并自动复制到粘贴板,将这个链接发送给想和你一起开发的好基友。
步骤2:被邀请的开发者得到这个链接后,随便找一个浏览器打开,浏览器会询问是否启动vs。点击启动之后,没有登录vs的用户会被要求先登录。然后会自动连接,连接成功后,首先会同步代码,这一步比较慢一点,请耐心等待。
步骤3:完成同步之后,就可以欢乐的同步编程了:被邀请者在他的开发机上的编码,会立刻同步到我的vs项目中, 且这种同步是双向的,细心的vs还会标出这行代码作者是谁。并且VScode也可以有这个功能,且可以和vs连接
2.诊断工具
功能说明:可以查看程序运行时的更细节的信息。
实用度:四颗星。
点评:还是挺有用的一个工具,针对莫名的cpu,内存飙升排查很有用。
使用方法: 到运行调试时,vs默认会打开诊断工具。如果没有打开的话, 依次点击“调试”,“窗口”,“显示诊断工具”。
打开之后就可以下下面进行操作,查看当前的 cpu占用,查看GC,内存快照等等。内存快照包含了前对象记数,占用内存,距离上次截取快照差生的差异等等信息。诊断工具是十分方便的性能分析工具。
3.即时窗口
功能说明:可以在调试中执行输入的代码。
实用度:五颗星。
点评:超好用。
使用方法:依次点击“调试”,“窗口”,“即时”
然后当在断点停住的时候,在即时窗口中输入的变量并回车,vs就可以打印出输入变量或者表达式当前上下文的值。
4.类视图
功能说明: 查看整个项目的项目/类/方法结构
实用度: 三颗星。
点评: 在接触一个陌生项目且没有超详细的文档时,通过类视图可以快速一览项目全貌。还算比较有用。
使用方法: 依次点击“视图”,“类视图”。
右侧弹出的窗口就是类视图窗口,包含了类的成员信息,集成关系等等。
5.跟踪断点
功能说明: 指定条件才触发的一种断点。
点评:有时候我们想在for循环第多少次时指定断点,不得不写下如下的代码,
使用了跟踪断点就不比把代码整的如此丑陋。不过在实际的使用过程中发现跟踪断点会运行起来会慢很多,不知道是什么原因。有知道的大佬可以告知一下。
实用度:三颗星。
使用方法:右击要插入代码的行,点击“断点”,“跟踪断点”,勾选“条件”,然后输入指定的条件就行了。可以看到区别于普通断点,跟踪断点是方形的。
6.重命名
功能说明:顾名思义, 替换变量/类名等,但他比直接替换字符串的好处在于:vs会检查要替换的目标的引用,避免替换掉不相关的字符。
实用度: 四星
操作说明: 比如我们想把下面的Name变量名改成Names而不改字符串“My Name Is Jim”里面的Name,光标移到Name,按键盘F2,或者右击鼠标,点击“重命名”,
要修改的变量名会变蓝色,引用过的变量名会变绿色,而字符串不变色。然后在这种状态下直接修改蓝色的Name,修改完毕点击“应用”即可。
7.远程调试
功能说明: 在本地开发机上的vs调试另一个运行在远程机中的程序。
点评: 这个简直不要太好用!!有时候我们会遇到这样的问题:开发机明明好好的,怎么打包完一到生产机就各种不行。偏偏生产机又没有调试环境,打日志又显得太盲目。这时候远程调试可以帮助我们解决这类问题。
实用指数:必须五颗星。
操作方法:
步骤1:在随便一个VS的安装目录下找到 D:\Program Files\Microsoft Visual Studio\Common7\IDE一个叫Remote Debugger 的文件夹,然后复制整个文件到远程机上。
步骤2:在远程机上运行Remote Debugger/X64/下面的msvsmon.exe可执行文件。如果要调试的程序是32位程序,请用x86目录下的程序。
运行起来之后是这个样子的。默认端口4024。也可以更换端口,访问权限等。
然后再远程机运行要调试的程序。
步骤3:回到开发机,依次选择“调试”,“附加到进程”
步骤4:在弹出的对话框里面输入远程地址IP:端口号(直接在标红下拉框输入,不要在查找按钮弹出的小对话框输入,在那个里面输入半天都找不到,坑死了。。。)。第一次连接会有一个Windows登录的过程。(在远程机可以设置不用Windows登录,但最好不要这样做,这会有安全隐患)
步骤5:确保要调试的程序已在远程机上运行。在下面的进程列表中找到,要调试的进程,如果没有找到就刷新再试试。找到目标进程后,点击“附加”按钮,vs会自动进入调试。然后就可以愉快的打断点了。
注意:请确保远程机的端口4024是开着的。
下面教一种windows下快速确认本地机和远程机端口号能否通的方法:
打开cmd,输入telnet +ip 空格 +端口号,然后回车。
如果黑窗一闪刷新,说明可以连接上。
如果出现“连接失败”的提示,则是不通,需要调整远程机防火墙。
(只用这个功能要先确保telnet功能是开通的。如果没有的话,可以在“控制面板”,“程序和功能”,“启用或关闭Windows功能”,中打开该功能。)
8.书签
功能说明: 书签可以为一个代码文件或窗口添加书签,然后再下次使用时直接转到该代码文件。
实用度: 4颗星。
点评: 还是挺使用的一个功能,尤其是当项目大起来之后,再也不用翻来翻去翻半天。
使用方法: 顶部中间位置有快捷方式分别对应,添加书签,上一书签,下一书签,删除书签
使用“视图”,“书签窗口”查看所有的书签。
9.外部代码
功能说明: 为选中的一段代码在外部加上try catch ,using,for,while等等包裹的代码。
点评: 虽 说这么一趟操作下来省不了多少时间,但是起码不用在为大括号的对齐劳神。
实用度: 3星
使用方法: 选中一段代码,右击鼠标,点击“片段”,点击“外侧代码”
10.向前导航向后导航
功能说明:向前或向后定位操作。
点评:这个不谈了,属实最常用的功能,没有之一。他可以定位你的每一个操作。
实用指数:五颗星。
使用方法:就在左上角。
11.选择性粘贴
**功能说明:**将粘贴板上的JSON/XMl字符串直接转转换为实体类代码。
实用指数:4星
点评:你有没有遇到这样的情况,对接外部API,提供的文档是一些接口说明和返回示例,然后你返回示例,一个类一个类一个字段一个字段的敲。吭哧吭哧敲半天ctrl CV都按爆了。选择性粘贴帮你解决这个难题。
使用方法:
步骤1:找到一段JSON,然后复制,我这里找到的是微信支付的文档里面的一小段,一定要复制上不然白瞎。
步骤2:新建个class,然后依次点击“编辑”,“选择性粘贴”,“将JSON粘贴为类”。
然后就可以看见直接给你生成好了类,甚至连复杂类型也生成了。
12.Nuget包管理
功能说明:依赖/包管理工具。
点评:这个不说了,功能强大速度快操作简单,强过JAVA中的Maven,nodejs中的Npm,python中的pip。
实用度:5颗星。
使用方法:右击项目文件,点击“管理Nuget程序包”
13.查看DLL源代码
功能说明:查看DLL源代码
点评: 此前很多年内,.net因为不开源而被诟病,且开发者无法知道net framework 函数的内部是如何实现的的,要看也只能通过一些反编译的工具。这些年也慢慢开源了,这也代表着微软开放了他的源代码。比如很多人争论过这样一个问题List集合是否是类型安全的,假如你通过这种方式看过List的源码就可以明白:List是类型安全的,但只保证List集合操作安全,不代表item成员内操作的安全。
实用度:5颗星。
使用方法: “工具”,“选项”,“文本编辑器”,“c#”,“高级”,勾选“支持导航到反编译源(实验)”,然后确认。
14.输出窗口
功能说明: 输出程序运行时的一些编译信息等等。
实用指数:3 颗星
点评: 如果是winform程序,他可以通过Console.WriteLine()输出信息