使用VS Code 开发.NET CORE 程序指南

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#代码了,基本的智能感知,关键字高亮等功能都可以使用。

    640?wx_fmt=png

进阶安装

  • 创建新项目

  • 添加/删除文件

  • 编译/打包

  • 移动项目至指定的文件夹

  • 其他

  • VSCode-icons

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

    640?wx_fmt=png

  • VSCode-solution-explorer

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

    640?wx_fmt=gif

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

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

    640?wx_fmt=gif

  • Visual Studio Keymap

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

  • C# XML Documentation Comments

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

  • NuGet Package Manager

  • NuGet NuPkg Viewer

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

  • .NET Core Test Explorer

    经过我的测试,.NET Core Test Explorer单元测试插件对于 MS Test 会出现无法发现的问题,建议大家采用xunit作为单元测试组件

    640?wx_fmt=gif

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

3. 后记

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314024.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用pythonnet为计算机视觉做图像整理

中国的.NETer是国内技术的另类,当他们强调.NET也可以做啥啥时都会给别的技术藐视,毕竟主流都不用.NET。本人这几年其实花在.NET时间也少,都投入在Python/Go社区。可我还是有点工作外的寄托,就是让.NET也有一个很好的推广&#xff…

ABP虚拟文件系统(VirtualFileSystem)实例------定制菜单栏显示用户姓名

ABP默认的MVC启动模板在登录后, 右上角显示的是用户名:如果想让它显示用户的姓名该如何做呢?这就需要用到ABP一个非常强大的功能------虚拟文件系统.前期准备使用ABP CLI创建一个名为AbpStudy的ASP.NET MVC项目:abp new AbpStudy关于MVC的启动模板可以看文档, 这里就不赘述.虚…

.NET中国峰会 参与意愿调查

2014年微软组织成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步。2014年以来已经有众多知名公司加入.NET基金会, 仅在平台项目中,.NET平台上有87%贡献者其实不在Microsoft工作。将.NET基金会变成一个更加多样化和成员驱动的组…

听我的!美国科技公司这样做Code Review

Code Review,在当代的软件开发中占有重要的一环。虽然国内各大主流公司都已经参照国外同行设立了比较严格的Code Review机制,但是还是有好多大型软件公司以及中小型软件公司还未推行这一重要制度。那么在美国的科技企业中,Code Review推行的怎…

程序员过关斩将--互联网人必备知识cookie和session认证

菜菜,上次你说的cookie和session的文章,我觉得不太具体那你想怎么样具体呢?我自己从网上查了一下,很多关于cookie和session认证的,能不能给我讲讲用户认证呀,可以呀这样我下次再去面试,有可能会…

2019-03-15-算法-进化(有效的数独)

题目描述 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。 数独…

net core WebApi——尝试企业微信来开发企业内部应用

前言这几天忙活着别的东西,耽误了很长时间,从文件操作完了之后就在考虑着下一步鼓捣点儿啥,因为最开始的业务开发就是企业微信相关的,这刚好来做个内部应用的小例子玩玩。企业微信前身是企业号,当时微信主推的还是公众…

微软发布了开发社区采用.NET Standard的最新信息

最近,微软发布了开发社区当前采用.NET Standard的最新信息。.NET Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发)。当前规范(版本2.0)在两年前发布,在.NET Cor…

卓语言对泛型类的使用

上次发了中文编程语言卓语言《小卓.NET中文编程特点介绍》。这篇文章来看下卓语言对泛型类的使用。泛型是现代编程语言很重要的功能。C#语言可以完全定义和使用泛型类型。卓语言是面向广大非专业人员的,为了减低编程难度,没有实现定义泛型类型&#xff0…

AT2675 [AGC018F] Two Trees(欧拉回路)

AT2675 [AGC018F] Two Trees 首先我们看到1或-1,那么就是限制差距在1以内,然后我们可以想到构造一些东西来满足这种东西,然后我们经常利用的就是欧拉回路。 首先这是两个树,然后我们可以根据儿子个数来判断当前点的奇偶性&#x…

.netcore 分布式事务CAP2.6之控制台使用

上一编.netcore 分布式事务CAP2.6 快速入门 讲了cap2.6的快速入门,这次我们来讲讲在控制台中如何使用cap2.6。因为cap2.6的内存模式目前已经可以使用了,相关组件已经更新,所以这次我们以简单的内存模式为例。1:创建项目创建一个名…

TestinPro应用与DevOps之路

文 | 中国农业银行软件研发中心 系统支持部 王晓昕 程伟静 胡莉莉Testin Pro(云测平台)是一款移动端自动化测试平台工具,帮助用户实现移动端测试自动化,是一套设备统一调配、软硬件一体化的移动端测试方案。Testin Pro具有在线录制…

通过Service访问应用 (2)

目录 通过NodePort Service在外部访问集群应用 通过LoadBalancer Service在外部访问集群应用 Microsoft SQL Server数据库部署 为了便于理解和学习,请先阅读上一篇《通过Service访问应用 (1)》再继续学习本篇内容。通过NodePort Service在外…

【A】兼容Core3.0后 Natasha 的隔离域与热编译操作。

文章转载授权级别:A 预计阅读时间:15分钟一、 2.0预览版本增加了哪些功能大部分为底层的升级优化,例如:引擎兼容 Core3.0优化编译流程,增加编译前语法检测及日志,统一采用流加载方式在 Vito 的建议…

.NET Core 使用 K8S ConfigMap的正确姿势

背景ASP.NET Core默认的配置文件定义在 appsetings.json和 appsettings.{Environment}.json文件中。这里面有一个问题就是,在使用容器部署时,每次修改配置文件都需要重新构建镜像。当然你也可能会说,我的配置文件很稳定不需要修改&#xff0c…

2019-03-22-算法-进化(环形链表)

题目描述 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入&#xf…

ASP.NET Core on K8S深入学习(9)Secret Configmap

本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。01—Secret关于Secret在应用启动过程中需要一些敏感信息,比如数据库用户名、密码,如果直接明文存储在容器镜像中是不安全的,K8S提供…

.NET Core 学习资料精选:进阶

2019.09月就要正式发布.NET 3.0了,对于前一篇博文《.NET Core 学习资料精选:入门》大家学的可还开心?这是本系列的第二篇文章:进阶篇,喜欢的园友速度学起来啊。对于还在使用传统.NET Framework 框架的园友,…

VS Code 1.38 发布!

今天(北京时间 2019 年 9 月 5 日),微软发布了 Visual Studio Code 1.38 版本。此版本主要更新的内容包括:Preserve case for global search and replace - 进行全局替换字符串时保留大小写。Settings editor string array valida…

.NET Core 收徒,有缘者,可破瓶颈

最近感悟天命,偶有所得,故而打算收徒若干,以继吾之传承。有缘者,可破瓶颈,职场巅峰指日可待。入门基本要求:1、工作经验:1年或以上。2、拜师费用:3999元(RMB)…