问题在上一篇介绍VS2019一键清理的文章中,我们提到了一个问题,Applyimplicit/explicittypepreferences应该使用哪一个?应用隐式/显式类型首选项?使用哪一个?首先我们来看看这个规则是用来解决什么问题的。下面两种代码,你更喜欢哪种风格?Implicit&ExplicitType第一行代码是显式类型,第二行代码是隐式类型。这两种风格的优缺点这里就不讨论了,因为不同的人可能有不同的喜好。了解了两者的区别之后,我们再来看看Applyimplicit/explicittypepreferences的修复结果是什么样的。默认执行结果如下图所示:VS2019默认为ApplyExplicit类型。通过实验可以看出,代码清理会默认将隐式类型转换为显式类型。是什么原因?这就涉及到我们今天要讨论的问题,VS2019的代码风格(CodeStyle)。本文不讨论代码风格,请根据自己或团队的开发习惯制定代码风格。代码风格设置·Ctrl+Q,输入“C#代码风格”,弹出如下对话框。不了解Ctrl+Q的朋友可以看看我之前的文章,你还在VisualStudio2019手动清理代码吗?可以看到VS2019默认设置了explicit类型,这也是为什么在我们上面的演示中,var会被一键更改为int类型。可以在这里将“Preferexplicittype”改为“Prefer'var'”(如下图),那么int会自动修改为var类型VS2019给出了很多Preferences设置,并给出了对应的代码设置解析。C#开发可以根据自己的需要设置。CodeStyle的严重级别除了可以设置我们更喜欢哪种代码风格外,还可以设置如果违反了这种代码风格,VS2019会给出什么相应的反馈。对应级别为RefactoringOnlySuggestionWarningError如下图所示。设置严重级别如果我们将“Prefercompoundassignments”设置为“Error”,那么下面的代码中就会出现Error提示,如下图所示。此时点击下图中的“使用复合赋值”,VS会自动将代码改为复合模式。不使用复合赋值将被视为错误。从UI到文件的团队开发小伙伴们可能会想到,如果我们可以将这些UI设置保存在文件中,那么就可以通过在团队中共享这个文件来统一代码风格。VS2019为我们提供了这个功能。将UI设置导出到文件点击上图中的“Generate.editorconfigfilefromsettings”,根据你的UI配置生成一个配置文件。默认情况下,它存在于项目的根目录中。打开这个文本文件,可以看到刚才的设置:CodeStyleconfigurationfile有了这个文件之后,就可以把它保存在和源代码文件一样的代码管理平台,比如Git。这样整个团队就可以确保代码风格一致。
