|
|
51CTO旗下网站
|
|
移动端

Visual Studio 2019之让我们统一代码风格吧

进行团队开发的小伙伴可能已经想到,如果我们能够把这些UI设置保存在文件当中,那么就有可能在团队当中通过共享这个文件来统一代码风格。VS2019为我们提供了这个功能。

作者:程序员马克来源:今日头条|2019-11-20 09:25

问题

在之前介绍VS2019的一键清理的文章当中,我们提到了一个问题,即Apply implicit/explicit type preferences到底是使用哪一个呢?

Visual Studio 2019之让我们统一代码风格吧

Apply implicit/explicit type preferences?到底用哪一个呢

首先我们来看一下,这条规则是用来解决什么问题的。下面的两条代码中,你比较喜欢那种风格呢?

Visual Studio 2019之让我们统一代码风格吧

Implicit & Explicit Type

第一行代码是explicit type,第二行代码是implicit type。这里不对这两种风格的优劣进行讨论,因为不同的人可能有不同的喜好。知道了二者的区别之后,我们看一看Apply implicit/explicit type preferences的fix结果是什么样子的?默认的执行结果如下图所示:

Visual Studio 2019之让我们统一代码风格吧

VS2019默认Apply Explicit type

通过实验可以看出,代码清理默认将implicit type转换为了explicit type。原因是什么呢?这就涉及到今天我们要讨论的问题,VS2019之代码风格 (Code Style)。本文不对代码风格进行讨论,请根据自己或团队的开发习惯制定代码风格。

Code Style设置

· Ctrl+Q,输入"C# code style",会打开下面的对话框。对Ctrl+Q不了解的小伙伴可以看看之前我的文章, Visual Studio 2019之你还在手工清理代码吗?

Visual Studio 2019之让我们统一代码风格吧

可以看到,VS2019将explicit type设置为了默认,这也是为什么我们上面的演示当中,var会被一键修改为int类型。你可以在这里将"Prefer explicit type"改为"Prefer 'var'"(如下图所示),那么int会被自动修改为var类型

Visual Studio 2019之让我们统一代码风格吧

VS2019给出了许多Preferences设置,并给出了代码对相应的设置进行了解析。C#开发可以根据自己的需要进行设置。

Code Style的严重等级

除了可以设置我们更喜欢哪种代码风格之外,还可以设定如果违反了这种代码风格那么VS2019会给出什么相应的反馈。相应的级别有

  • Refactoring Only
  • Suggestion
  • Warning
  • Error

如下图所示。

Visual Studio 2019之让我们统一代码风格吧

设置严重等级

如果我们将"Prefer compound assignments"设置为"Error",那么下面的代码中就会出现Error的提示,如下图所示。此时点击下图中的"Use compound assignment",VS会自动将代码改为compound的模式。

Visual Studio 2019之让我们统一代码风格吧

没有使用compound assignments会被当做错误

从UI到文件

进行团队开发的小伙伴可能已经想到,如果我们能够把这些UI设置保存在文件当中,那么就有可能在团队当中通过共享这个文件来统一代码风格。VS2019为我们提供了这个功能。

Visual Studio 2019之让我们统一代码风格吧

导出UI设置到文件

点击上图的"Generate .editorconfig file from settings",可以根据你的UI配置生成一个配置文件。默认存在你项目的根目录。打开这个文本文件,可以看到刚才的设置:

Visual Studio 2019之让我们统一代码风格吧

Code Style配置文件

有了这个文件之后,可以将它同源代码文件一样保存在代码管理平台,比如Git。这样整个团队就能够确保代码风格一致了。

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Python应用场景实战手册

Python应用场景实战手册

Python应用场景实战手册
共3章 | KaliArch

115人订阅学习

一步到位玩儿透Ansible

一步到位玩儿透Ansible

Ansible
共17章 | 骏马金龙1

182人订阅学习

云架构师修炼手册

云架构师修炼手册

云架构师的必备技能
共3章 | Allen在路上

131人订阅学习

读 书 +更多

Java (JDK 6)学习笔记

Java学习笔记在JavaWorld技术论坛(http://www.javaworld.com.tw/)和作者的网站(http://caterpillar.onlyfun.net/Gossip/)提供免费下载...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微