专栏首页汪宇杰博客实用帖 | 使用Visual Studio开发.NET Core推荐设置

实用帖 | 使用Visual Studio开发.NET Core推荐设置

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配置

欢迎大家留言补充!

本文分享自微信公众号 - 汪宇杰博客(ediwangblog)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网站被攻击怎么办? 如何查找攻击源与网站漏洞

    很多企业网站被攻击,导致网站打开跳转到别的网站,尤其一些彩票等非法网站上去,甚至有些网站被攻击的打不开,客户无法访问首页,给客户造成了很大的经济损失,很多客户找...

    技术分享达人
  • .NET 机器学习生态调查

    机器学习是一种允许计算机使用现有数据预测未来行为、结果和趋势的数据科学方法。 使用机器学习,计算机可以在未显式编程的情况下进行学习。机器学习的预测可以使得应用和...

    张善友
  • ML.NET 发布0.11版本:.NET中的机器学习,为TensorFlow和ONNX添加了新功能

    微软发布了其最新版本的机器学习框架:ML.NET 0.11带来了新功能和突破性变化。

    张善友
  • 微软发布ML.NET 1.0

    原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/

    张善友
  • ASP.NET Core中GetService()和GetRequiredService()之间的区别

    上篇文章《在.NET Core 3.0中的WPF中使用IOC图文教程》中,我们尝试在WPF中应用.NET Core内置的IOC进行编程,在解析MainWindo...

    依乐祝
  • 开源的类似于Apache ab的压力测试命令行工具SuperBenchmarker

    SuperBenchmarker 是ㄧ个开源的类似于Apache ab的压力测试命令行工具。可以在 .NET 4.52+ 或者 .NET Core 2.0+ 平...

    张善友
  • ASP.NET Core Windows服务开发技术实战演练

    跟着阿笨一起玩NET
  • 机器学习 ML.NET 发布 1.0 RC

    ML.NET 是面向.NET开发人员的开源和跨平台机器学习框架(Windows,Linux,macOS),通过使用ML.NET,.NET开发人员可以利用他们现有...

    张善友
  • .NET和Docker ,比翼双飞

    DockerCon 2019本周将在旧金山举行 ,DockerCon 是从业者、贡献者、维护者、开发者和容器生态系统学习、网络和创新的一站式活动。 .NET 团...

    张善友
  • win2003 64位系统IIS配置方法

    64位系统IIS配置方法,主要是在 32与64位下运行iis的一些常见问题与方法,推荐服务器配置者参考。1、因用模版安装ASP.NET 2.0需先卸载64位的....

    习惯说一说

扫码关注云+社区

领取腾讯云代金券