Visual Studio 一直是.NET程序员的好伙伴,如今虽然.NET Core的开发可以用VSCode等其他环境,但VS依旧有强大的优势。
今天来介绍下如何让VS用得更顺手的技能
Here We Go!
⛷
基本配置
首先要搞清楚的一点是,并不是所有版本的Visual Studio都支持.NET Core开发,甚至2017的早期版本也不行。有些童鞋误以为只要安装了.NET Core的SDK,就可以使用很久以前安装的VS2017开发,这会导致代码无法编译通过。
例如:对于.NET Core 2.1版本,至少要求 VS2017 升级到15.7。目前.NET Core 最新的 release 是2.2,所以我推荐大家始终保持 VS2017 升级到最新。
升级方法
????
在开始菜单里搜索 Visual Studio Installer

一旦 IDE 有更新
就可以点击 “Update” 按钮安装更新

另外,确保你已经勾选了
????
“ .NET Core cross-platform development”
这个 workload

时间久了,随着 VS 的每次更新,你的机器里会出现各种版本的 .NET Core SDK。我的习惯是保留当前版(2.2)和LST(2.1)的最新 SDK,其他都可以卸载。
????其中2.1.202,是 VS 2017自作聪明装上的,对应的其实是 .NET Core 2.0的版本,如果你不开发2.0的话,完全可以手工卸载。2.1.503对应的是 .NET Core 2.1.7,2.2.103对应的 是.NET Core 2.2.1。这些小版本通常是安全更新。

要查看机器上的 .NET Core SDK 已经 runtime
可以用 dotnet --info 命令:
插件
ReSharper
我个人必用的插件是 ReSharper,这个是收费插件,但提供了非常完备和强大的功能,比如批量重命名、整理 namespace、推荐使用新版 C# 的语法等等。
并且,它很早就支持 .NET Core 了。如果你有不错的开源项目,也可以向JetBrains申请免费使用。
????产品地址????
https://www.jetbrains.com/resharper/

对于.NET Core 来说,我们经常写依赖注入,那么有了 ReSharper,你就可以让插件一键帮你生成构造函数注入,省时省力。


Web Essentials
另一套插件是 Web Essentials ,在 VS2017版里,它是一个插件全家桶,其中包含了众多子插件都可以独立安装。

在 Tools > Extensions and Updates 下就是 VS2017的插件窗口,点击 Online 选项卡,然后搜索 "Web Essentials",即可下载安装这个全家桶。
桶里的功能实在太多,我挑几个有代表性的给大家的介绍一下。
Bundle & Minifier
这是一款在编程或编译时压缩和打包 CSS/JS 文件的插件。通过工程目录下的 bundleconfig.json 文件定义压缩和打包规则,一目了然。然后你在编辑保存源文件的时候,目标打包文件就会自动更新。


在脱离 VS 的环境下,例如你的 CI 环境,也可以做到编译时重新生成打包文件。只需要指定"Enable bundle on build" 即可。

实际上这个命令的作用是在你的工程文件里添加了一个NuGet包:
<PackageReference Include="BuildBundlerMinifier" Version="2.8.391" />
Open Command Line
.NET Core 经常需要手工敲命令来装逼,例如使用 dotnet 或 libman 的 CLI 命令。这款插件能够帮助你在选定的路径直接打开 cmd 或 PowerShell。

设置
关于皮肤
VS 默认是浅色皮肤的,许多人将它改成黑色,除了能装逼以外,是有实用道理的。
注意看红线圈出的接口类型的颜色,这是黑色皮肤下的。

如果用默认的(Blue)浅色皮肤,就难以辨别是接口还是类了:

而.NET Core 里因为依赖注入的大量使用,一定是会遇到很多接口的,所以建议大家实用黑色皮肤,既能装逼,又能看清接口类型。

鸡肋追踪
在.NET Core 的工程里,VS 默认会在 Solution Explorer 里自动选中当前正在编辑的文件,这个鸡肋功能通常会造成麻烦,特别是你在编辑同一个文件夹的临近文件,而又临时需要看另一个工程目录里的文件。这个自动选中当前文件的功能会让我们不得不来回拖滚动条。其实是可以关闭的。
在 Project and Solutions 里,取消勾选 Track Active Item in Solution Explorer 即可。

自动换行
讲文明的程序员写代码会注意格式,然而我们没法控制团队里每一个成员都和自己一样牛逼,有时候也有一些三方或者工具生成的代码是不换行的。拖水平滚动条虽然能治疗颈椎病,但是显然降低了生产效率。我通常会把VS的自动换行打开。
在 Text Editor > All Languages 里,勾选 Word wrap

(图片来源于网络)
感谢看到这里
????
以上就是博主开发.NET Core程序时
使用的Visual Studio配置
欢迎大家留言补充!
原文地址:https://edi.wang/post/2019/1/28/recommended-visual-studio-configuration-for-net-core-development
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com