1. 前言

近两年来,很多前端的同学都开始将 vscode 作为前端主力开发工具,其丰富的扩展给程序开发尤其是前端开发带来了很多便利,但是作为微软主力语言的 .net,却由于有宇宙第一ide visual studio存在,很少有看到有后端同学使用,笔者自己在 vscode 刚出来时就折腾过将主力开发工具迁移至 vscode,这样可以跨平台做开发(实际是当时想尝试在mac上做开发),但当时由于插件还不完善,折腾过程也比较坑,遂放弃,继续拥抱宇宙第一编辑器。

近日有点时间,再次折腾vscode,惊喜发现已经基本可以用vscode完成大部分的开发工作,先将过程分享出来,给那些喜欢折腾的同学参考。

注意:本文只针对 .net core 而非 .net framework 开发,同时需要对 vscode 基本操作有一定的了解,如果你还在编写 .net framework 程序或者从来没有使用过vscode,还需要先了解一些基础知识。

2. 插件安装说明

  1. 必装插件:
    • c#
    • c# extensions

      有了以上插件,已经基本可以在vscode中编写c#代码了,基本的智能感知,关键字高亮等功能都可以使用。

  2. 进阶安装
    • vscode-icons

      vscode-icon 可以给文件目录中的文件添加icon,便于我们分辨文件的类型

    • vscode-solution-explorer

      从visual studio迁移过来的同学比较大的一个问题就是,原来熟悉的解决方案不见了,纯粹的文件自我管理的方式用起来总是很别扭,安装了这个插件,vscode 中将会增加一个菜单,原来熟悉的 visual studio 操作方式又回来了,具体看下图:

      有了此插件,我们在解决方案或者项目上右键,分别会弹出相应的快捷键菜单,满足我们日常开发中的一些常规操作:

      • 创建新项目
      • 添加/删除文件
      • 编译/打包
      • 移动项目至指定的文件夹
      • 其他

      例如将项目加入到指定文件夹下,便于管理:

    • visual studio keymap

      该插件可以将常用的 visual studio 快捷键映射到 vscode 中,比如格式化代码快捷键 ctrl+k+d

    • c# xml documentation comments

      该插件主要是可以方便的添加代码注释,例如在visual studio 中的 ///

    • nuget package manager
    • nuget nupkg viewer

      目前添加nuget包,由于国内你懂的原因,导致在查询版本的时候会报错,无法正常安装,建议大家直接右键 csproj 项目文件添加相应的nuget包,关于这个问题,大家可以关注github上的 issue

    • .net core test explorer

      经过我的测试,.net core test explorer单元测试插件对于 ms test 会出现无法发现的问题,建议大家采用xunit作为单元测试组件

      注意:单元测试必须在当前workspace中进行配置test project path:即单元测试的项目名称,同时也可以在当前项目根目录中的.vscode 添加 setting.json 文件,并添加如下配置项:

      { 
       "dotnet-test-explorer.testprojectpath": "unittest" 
      } 

3. 后记

有了上述插件的支持,我们基本上已经可以使用 vscode 开发.net core 应用程序了,不过由于目前安装nuget包时会出现一些网络问题,笔者当前是采用 visual studio 添加各个组件包的引用,采用 vscode 做开发,整个流程下来,还是可以胜任的。

由于笔者之前是reshaper重度用户,喜欢 alt+enter 快捷键做一些快捷快捷操作,而vscode中也会有一些快速提示操作,不过快捷键并不是alt+enter,需要自定义修改,修改方式如下(同理其他的快捷键也是在此改动):

最后,vscode 对于 spring boot 的支持也是相当友好的,笔者之前也使用 vscode 开发过java程序,尤其是那些需要 net 和java 同时开发的同学,有兴趣也可以自己折腾下,这样就不用记两套快捷键了,而且 vscode 的打开速度比 idea 快很多。