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

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

问题

在之前介绍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。这样整个团队就能够确保代码风格一致了。 

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2010-03-26 16:23:07

Visual Stud

2009-12-02 09:23:04

Visual Stud

2011-09-07 16:09:37

Visual Stud

2012-03-20 13:22:04

Visual Stud

2010-05-13 11:15:36

统一通信技术

2013-03-26 11:22:14

开源GitHub开源控

2009-11-30 13:17:23

Visual Stud

2023-08-22 13:20:00

模型训练

2023-07-13 08:17:13

国产Oracle数据库

2022-02-15 08:00:00

开发代码库架构

2012-05-09 11:00:58

Visual Stud

2023-04-18 23:39:07

VS Code代码编辑器插件

2021-06-29 23:50:39

插件Vscode代码

2022-05-11 10:41:25

kaptcha工具验证码

2021-05-07 05:38:02

微软Edge浏览器

2021-02-23 09:21:29

代码效率C++

2020-11-03 08:37:47

存储 KVell

2021-09-26 16:08:23

CC++clang_forma

2021-10-20 14:04:10

代码注释接口

2021-11-29 07:24:08

ACID事务大数据
点赞
收藏

51CTO技术栈公众号