此文不定期整理VisualStudio使用的一些技巧。包括快捷键,还有插件的使用,一些重构代码的一些快捷方法。新版本的visual sutido特性的更新等。有些常用的快捷方式,熟悉之后对提高生产力很有帮助。
让当前所处代码function,class,namespace位置置顶显示
这个功能主要是方便在浏览代码的时候,清楚的知道当前行所处的代码块位置,比如当前的代码块所处于哪个function内部,或者处于哪个class内部,当代码行特别多的时候,开启这个功能非常有必要。
visual sutido2022弹出提示Just My Code Warning
https://techstrology.com/you-are-debugging-a-release-build-of-dll-using-just-my-code-with-release-builds-using-compiler-optimizations-results-in-a-degraded-debugging-experience/
解决办法:visual studio 2022 —>debug —->options
关掉部分特性,节省vs2022内存消耗
这些设置可以降低visual studio 2022的内存消耗。
参考资料:https://stackoverflow.com/questions/70683618/visual-studio-2022-highly-used-memory
1.常用快捷技巧
Ctrl + Home键:回到文档的顶部
Ctrl+End键:回到文档的底部
Home键:移动到行首,按两次Home键,直接移动到边框最左端
Ctrl +R 连按2次:修改变量名。在安装了Resharp插件的时候,这个功能会同时把整个解决方案中的类名文件名,接口文件名一起修改,非常方便,特别是代码重构的时候加快开发效率。
代码生成器
利用T4模板,生成Efore相应的代码,参考:https://marketplace.visualstudio.com/items?itemName=DevartSoftware.DevartT4EditorforVisualStudio
Immediate Windows打印变量为Json字符串
在debug模式下,Newtonsoft.Json.JsonConvert.SerializeObject(someVariable) 既可以变量变为Json
vs2022针对不同的project显示tab不同颜色
这个tab针对不同的project区分不同的颜色,对于提升开发效率有着一定的提升。特别是关掉一些不要用的tab对于提升代码专注度很有好处。根据颜色就非常容易区分,把那些跟当前Project颜色不一样的文件全部关闭,防止其他项目干扰。
Debug的时候去掉Diagnostic弹窗的显示
Git版本管理技巧
为了最大限度防止漏提交了文件,最好是使用Vs自带的工具进行commit,之后再使用git乌龟工具拉取分支之后再push,当然,这些东西都可以在visualStudio中进行。
使用TaskList标记TODO
参考:https://docs.microsoft.com/en-us/visualstudio/ide/using-the-task-list?view=vs-2022
在visual studio 2019中 view菜单中打开task list,可以查看到我们平时标记的TODO列表,而这个地方还可以自定义BUG等自己的标记,打开Task List的时候就可以看到一些代码的位置,提升我们开发效率。当团队中其他人也在使用这个标签的时候,就会变得比较混乱,查找起来也不方便,很多Project来回切换,做好标记非常重要。
2.给vs任意位置设置合适的字体大小
1.设置全局菜单、侧边栏字体大小:
代码编辑区推荐的字体设置如下:
2.设置代码编辑区域popup提示弹窗内字体大小:
3.设置AI智能补全提示文字大小
AI智能补全是微软新出来的一个vs增强功能,很多时候这个AI提示字体非常小,把它字体设置稍微大一些,提升开发体验。另外关于AI智能补全功能的,可以参考:https://dotnetcoretutorials.com/2021/11/27/turning-off-visual-studio-2022-intellicode-complete-line-intellisense/
具体的设置路径:Tools – Options – Environment - Fonts and Colors > Statement Completion
3.自动注入私有属性设置
1.自动生成私有变量属性
可以强制设置私有变量为 ‘_’ 带有下划线的小驼峰方式:
设置完毕之后:
我这里选择的是Refactoring Only:
最终使用的效果就是如下:visualstudio 2019会把含有依赖注入的属性,自动给补上,并且打上私有属性下划线。
如果没有这个设置,那么编辑器给出来的自动提示就是如下这种:
这个设置在依赖注入的时候,使用起来特别方便。
4.提升vs效率
1.Shift + Enter
专门用来快速输入大花括号
,当程序员输入一个类或者方法,需要敲入 { }
一对大花括号的时候,直接Shift +Enter即可快捷输入,并且光标会停留在花括号的正中间开始的位置。
2.Move Class
这个功能可以把cs文件中的class类单独移动出去成为一个独立的class文件,当从其他文件拷贝class类和代码的时候这个技巧非常有用。可以先把class代码拷贝到一个namespace中,然后使用这个Move type to XXXX.cs ,就会单独把某个class新建为单独的cs类文件。
3.自动复制文件顶部的using语句
当进行代码的复制粘贴的时候,如果从一个文件A复制了一段代码,带有using引用的,当拷贝到B文件的时候,想要连同A文件顶部的相关的using语句也一并拷贝到B文件,那么就可以开启这个功能。
4.继承关系跳转
开启这个功能之后,可以使得visual studio 2019编辑器的侧边栏显示蓝色的标记,鼠标点击之后,可以在拥有继承关系的类之间引进跳转。
5.移除不用的Nuget包
这个是visual studio 2019 16.10.3 版本之后自带的功能,老版本的vs可能没有这个功能。
6.EditorConfig文件统一开发风格
visualStudio中可以为项目添加EditorConfig文件,来统一整个开发团队的开发规范,比如单行代码缩进量的控制。
具体的设置可以参考:使用 EditorConfig 创建可移植的自定义编辑器设置
EditorConfig的更多规范参考EditorConfig官方网站。
如果开启了EditorConfig文件,那么visualsudio编辑器的ErrorList提示里面会有Messages消息,提示用户进行一些代码规范上面的操作:
EditorConfig的配置文件修改了之后,可以通过CleanCode一键格式化我们的代码文件:最典型的使用,就是格式化代码的缩进这些,如果对于EditorConfig研究更深入,可以最大限度的规范我们开发风格。
7.抽取class类中的接口
这个方法跟上面的第2个方法,抽离class到单独的cs文件类似,是把class中的现有方法抽离出去,变为接口。这个在dtonetcore依赖注入的时候,要提取某些接口非常方便。
8.Resharp插件
Resharp官方文档:如果是首次安装Resharp,请查阅官方文档:使用Resharp第一步。快速打开Resharp的设置页面使用快捷键:(Alt+R, O).这里只会使用到Resharp的关键几个功能:
1.代码智能提示修改为使用Resharp代替。设置完成之后,API接口的形参提示会直接弹出提示,提升编码效率。这里影响的是上方这块参数的智能提示。下方的那块智能提示是vs2019微软的AI提示给出来的信息。
另外使用快捷键,ctrl + shift + space 也是可以弹出来参数智能提示的;
2.代码块的注释、取消注释
Ctrl + Atl + / 对于选中的代码块,注释、取消注释,都是这3个组合键。参考官方文档:注释和取消注释代码
使用Resharp的好处
1.避免Swagger的坑
比如 Ctrl + R 修改API接口的形参名字的时候,经常是修改了cs文件里面的形参而忘记了去修改SwaggerXml文件夹中的配置,会导致某些接口的备注不会被显示出来,是因为有些地方形参名字改了,有些地方没有改,而导致Swagger出现莫名的问题。如果使用Resharp的批量修改,它会自动检测到所有地方的引用,通过引导程序帮助你把Swagger相关配置里面的也一并修改。
2.在if esle条件判断很多的时候,会提示你代码存在冗余,比如某些条件判断节点永远为false或者永远为true,这种小的细节,Resharp会智能提示你。
3.某些情况下lambda操作或者foreach操作可以精简为一句Linq操作,Resharp也会提示你。
9.快速打开文件位置
快速打开一个cs文件所在的硬盘位置:
Copy Full Path拷贝全路径:
10.智能补全&&实现接口
快速实现接口的时候,visualstudio 2019默认是通过抛异常的方式实现接口的,类似如下这种效果:
如果要弄成自动实现方式,这是为auto Property:
11.找到真实的接口实现
一般情况下,如果实现类是一个接口类型的对象,我们定位这个类的方法的实现的时候,是定位到接口的里面去的,但是实际上我们需要找的是这个类对应方法的具体实现,使用F12快捷键明显是找不到具体的实现的,它会直接跳到接口里面:
使用Ctrl F12快捷键可以跳转到接口的实现,这个快捷键跟欧陆词典的快捷键设置会有冲突,如果安装了欧陆词典要注意。
12.跳转到定义字段
Ctrl + 鼠标左键
13.Go To All
默认情况下,使用Ctrl + T 是可以呼出这个功能的,如下:
这个快捷键会被resharp的Search功能替换掉,如果觉得影响性能,可以不安装Resharper。这个快捷键原本是属于visualstudio的.
可以对驼峰命名的关键字进行匹配。
而且还能自动跳转到相应的代码行,是实时响应式的:
还可以限定某些文件类型:
这个功能最大的优点是查询速度非常快,实时定位到相应位置。
14.移除掉不必要的命名空间
15.格式化代码
Ctrl + E D
16.控制台中调试Csharp代码
在命令控制台种直接执行调试某些C # 代码:
在控制台里面,就像chrome的console种调试js代码一样方便:
17. Alt + 上下方向键
这个Alt 结合 键盘上面的方向键,上下箭头,是可以做到快速移动代码位置的,效果如下:
选中一大段代码进行移动位置都是可以的。
18.给Vs增加新功能
Tools菜单栏,Get Tool and Fetures…
很多时候都是寻找微软的那个exe更新器给vs更新或者卸载模块,其实这里有个菜单可以直接对vs模块功能增加删除。
19.In line Hints
行内提示功能,一般是Resharper插件中的功能,但是在vs2019中其实默认是没有被启用的,可以通过相关设置启用。
在没有启用In Line Hints功能之前,我是通过安装Resharper来得到这种行内提示效果:
尝试禁用Resharper插件,使用visual studio 2019自带的In Line Hints功能,把下面没有打勾的全部打上勾:
不过总体感觉vs自带的行内提示还是没有Resharper的那种体验好。节省vs性能的时候可以使用自带的凑合用。自带的提示,Lambda的提示信息不要勾选上,要不然会显示过多的信息,干扰阅读代码。某些情况下resharp插件会提示你,visual studio2019自带的In line Hint已经被关闭。如果要启用的话,为了防止冲突,开启visual studio的行内提示的情况下在禁用掉resharp的行内提示。
5.VisualStudio的AI提示
微软的AI代码提示功能靠下面的Visual Studio IntelliCode给出来的。
微软的这个AI提示会根据经验值,把频率最高的API给排序显示出来,方便日常快速开发。默认的设置是通用的,并不是针对C#的,如果是开发.net的话,需要把所有专门针对C#的智能提示给开启:最新版vs2019这里有9项全部开启。那么AI智能提示就全部是针对C#的。
完成这些设置之后,通过view菜单进入到Visual Studio IntelliCode界面;
进入到这个页面之后点击生成Patterns,那么就会根据用户当前项目中使用到的有些语法特征,分析出AI模型,对用户当前的项目提供特定的AI智能提示:数据模型创建完毕之后处于Ready状态。开启这个功能之后,以后每次打开一个已经存在于电脑硬盘上面的.net项目都会自动开启本地Local的Ai分析,这个插件对应的AI程序会针对本地的代码进行AI建模分析,给出合理的代码提示建议。
6.visualStudio扩展插件
1.Add New File
插件下载地址:https://marketplace.visualstudio.com/items?itemName=MadsKristensen.AddNewFile
安装上这个插件之后,就可以非常方便的创建各种文件,包括文件夹的嵌套都是非常方便的,特别是创建cs文件的时候。而且这个插件会默认开启快捷键shift + f2, 给开发带来比较大的便利性。
2.CodeMaid
插件地址:https://www.codemaid.net/
3.Indent Guides
插件地址:https://marketplace.visualstudio.com/items?itemName=SteveDowerMSFT.IndentGuides
7.影响visualSdutio性能的硬件因素
影响visualStudio加载大型项目速度的是SSD固态硬盘,如果电脑中存在机械硬盘,则对于visualSdutio加载速度的影响是巨大的。而影响编译速度的主要是CPU主频。日常使用中,各种智能提示、智能感知的速度更大程度上取决于更快的CPU。
8.快捷键
Ctrl + M + O: 折叠所有方法
Ctrl + M + M: 折叠或者展开当前方法
Ctrl + M + L: 展开所有方法
ctrl + shift +F
如果是安装的原版简体中文windows10操作系统,这个visual studio 2019快捷键会会被系统的输入法切换键给占用,占用之后发现visual studio2019的这个功能键失效了。
可以参考这篇帖子:“简体/繁体中文输入法切换” ,关掉这个简体繁体中文输入法切换功能即可,或者设置为其他的组合键,不要和visual studio 2019发生冲突即可。
Alt +F7
这个快捷键也是比较有用的,如图:
在visual studio 2019打开的文件特别多的时候,在tab栏去切换已经打开的文件或者窗口非常蛋疼,用这个快捷键直接显示出所有Active状态的文件和窗口,非常方便。参考这篇:How to: Move around in the Visual Studio IDE
shift + F12
查找所有的引用。
ctrl + F12
跳转到具体的实现。
ctrl +shift +f9
删除所有的debug调试标记点,特别是在项目告一段落的时候,会有之前记录过的很多debug痕迹,可以使用快捷键一键删除。
9.如何导出vs2019配置
参考这篇:What’s the best way to export all of my visual studio 2019 configuration
VisualStudio异常设置
visualStudio抛异常的时候,把抛异常的报错位置,精确到代码行:
OpenExceptionSettings
调试源码设置
通过上面设置之后,对于一些大型的codeBase就可以进行调试源码了。
文档信息
- 本文作者:hillcat
- 本文链接:https://cs-cn.top/2020/12/02/visualStudio_settings/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)