使用VS Code 开发.NET CORE 程序指南
1. 前言
近两年来,很多前端的同学都开始将 VSCode 作为前端主力开发工具,其丰富的扩展给程序开发尤其是前端开发带来了很多便利,但是作为微软主力语言的 .NET,却由于有宇宙第一IDE Visual Studio存在,很少有看到有后端同学使用,笔者自己在 VSCode 刚出来时就折腾过将主力开发工具迁移至 VSCode,这样可以跨平台做开发(实际是当时想尝试在Mac上做开发),但当时由于插件还不完善,折腾过程也比较坑,遂放弃,继续拥抱宇宙第一编辑器。
近日有点时间,再次折腾VSCode,惊喜发现已经基本可以用VSCode完成大部分的开发工作,先将过程分享出来,给那些喜欢折腾的同学参考。
注意:本文只针对 .NET CORE 而非 .NET Framework 开发,同时需要对 VSCode 基本操作有一定的了解,如果你还在编写 .NET Framework 程序或者从来没有使用过VSCode,还需要先了解一些基础知识。
官方文档
2. 插件安装说明
必装插件:
-
有了以上插件,已经基本可以在VSCode中编写C#代码了,基本的智能感知,关键字高亮等功能都可以使用。

进阶安装
-
VSCode-icon 可以给文件目录中的文件添加icon,便于我们分辨文件的类型

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

有了此插件,我们在解决方案或者项目上右键,分别会弹出相应的快捷键菜单,满足我们日常开发中的一些常规操作:
- 创建新项目
- 添加/删除文件
- 编译/打包
- 移动项目至指定的文件夹
- 其他
例如将项目加入到指定文件夹下,便于管理:

-
该插件可以将常用的 Visual Studio 快捷键映射到 VSCode 中,比如格式化代码快捷键 Ctrl+K+D

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

-
目前添加nuget包,由于国内你懂的原因,导致在查询版本的时候会报错,无法正常安装,建议大家直接右键 csproj 项目文件添加相应的nuget包,关于这个问题,大家可以关注github上的 Issue
-
经过我的测试,.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 快很多。
使用VS Code 开发.NET CORE 程序指南的更多相关文章
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...
- 部署到Linux使用VS Code 开发.NET Core 应用程序
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NE ...
- SQL 横转竖 、竖专横 (转载) 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 C# 读取PDF多级书签 Json.net日期格式化设置 ASPNET 下载共享文件 ASPNET 文件批量下载 递归,循环,尾递归 利用IDisposable接口构建包含非托管资源对象 《.NET 进阶指南》读书笔记2------定义不可改变类型
SQL 横转竖 .竖专横 (转载) 普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 ...
- 初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序
原文:初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序 1. 安装.NET Core 安装包下载地址:https://www.microso ...
- 使用Dapper.Contrib 开发.net core程序,兼容多种数据库
关于Dapper的介绍,我想很多人都对它有一定的了解,这个类似一个轻型的ORM框架是目前应用非常火的一个东西,据说各方面的性能都不错,而且可以支持多种数据库,在开始介绍这个文章之前,我花了不少功夫来学 ...
- Dapper.Contrib 开发.net core程序,兼容多种数据库
Dapper.Contrib 开发.net core程序,兼容多种数据库 https://www.cnblogs.com/wuhuacong/p/9952900.html 使用Dapper.Contr ...
- 【实验手册】使用Visual Studio Code 开发.NET Core应用程序
.NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...
- 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之一
好吧,现在我们假设你已经安装好了VS Code开发工具..Net Core 2.0预览版的SDK dotnet-sdk-2.0.0(注意自己的操作系统),并且已经为VS Code安装好了C#扩展(在V ...
- 如何使用 VS Code开发.NET Core应用程序
Visual Studio Code(VS Code)是Microsoft为Windows,Linux和Mac操作系统开发的免费,跨平台,轻量级的源代码编辑器,它是源代码编辑器,而Visual Stu ...
随机推荐
- [leetcode] 111.Mininum Depth of Binary Tree (Easy)
原题 寻找二叉树最短深度 这里用了dfs,beat 100%,4ms class Solution { public: int minDepth(TreeNode *root, int minNum ...
- 你真的了解 Cookie 和 Session 吗
我在做面试官的时候,曾经问过很多朋友这个问题: Cookie 和 Session 有什么区别呢?大部分的面试者应该都可以说上一两句,比如:什么是 Cookie?什么是 Session?两者的区别等. ...
- Kafka学习(三)-------- Kafka核心之Cosumer
了解了什么是kafka( https://www.cnblogs.com/tree1123/p/11226880.html)以后 学习核心api之消费者,kafka的消费者经过几次版本变化,特别容易混 ...
- Spring 整合 ibatis
是的,真的是那个不好用的ibatis,不是好用的mybatis. 由于工作需要用到ibatis需要自己搭建环境,遇到了不少的坑,做一下记录. 一.环境配置 Maven JDK1.6 (非常重要,使用S ...
- spring 注解验证@NotNull等使用方法
@Null 被注释的元素必须为null@NotNull 被注释的元素不能为null@AssertTrue 被注释的元素必须为true@AssertFalse 被注释的元素必须为false@Min(va ...
- python语言快捷注释
1.注释单行 (1)方法1:直接在单行代码前边加 # (2)方法2:选中需要注释的代码,Ctrl+/ 即可注释 2.注释多行代码 选中想要注释的N行代码,直接Ctrl+/ 即可注释 3.取消注释多行代 ...
- Eclipse Other Projects小问题
Eclipse 不知什么时候多了个 "Other Projects" 文件夹,所有的项目又多了一层目录,如图所示: 虽然对功能没任何影响,但每次打开有些麻烦,多少感觉有些不爽…… ...
- 泥瓦匠 5 年 Java 的成长感悟(下)
继续<泥瓦匠 5 年 Java 的成长感悟(上)>,大致包括下面几点: 学技术的心态 学技术的学法 工作的心态 工作的硬技能 工作的软实力 听点雷子的民谣,我就安静地感概感概.上次说写的, ...
- 使用JavaScript的XMLHttpRequest+fromdata 传递blob到后端
需要上传网页录音文件到服务器,写的艰辛,终于好了,C#端的代码失败的留作纪念,JS端也有失败的案例,就不放上来了 JavaScript: var form = new FormData(); form ...
- 9-1、大型项目的接口自动化实践记录----数据库结果、JSON对比
上一篇写了如何从DB获取预期.实际结果,这一篇分别对不同情况说下怎么进行对比. PS:这部分在JSON对比中也适用. 1.结果只有一张表,只有一条数据 数据格式:因为返回的是dicts_list的格式 ...