本文主要是介绍在 Visual Studio 中使用 EditorConfig 统一代码风格(含原生与插件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
EditorConfig 是一种被各种编辑器广泛支持的配置,使用此配置有助于项目在整个团队中保持一致的代码风格。Visual Studio 2017 开始原生支持 EditorConfig。
本文将介绍 Visual Studio 对 EditorConfig 的支持情况(含原生与插件),并给出符合 .NET 和 C# 约定的 EditorConfig 详细设置。
本文内容
- EditorConfig 的广泛支持
- Visual Studio 对 EditorConfig 的支持程度
- 在 Visual Studio 中添加 EditorConfig 配置
- 在 Visual Studio 中开启 EditorConfig 支持
- 在 ReSharper 中开启 EditorConfig 支持
- 效果体验
- 附 EditorConfig Language Service 生成的属性集
- 附 IntelliCode 生成的属性集
EditorConfig 的广泛支持
在 EditorConfig 官网中,贴出了一些可以纯原生无需任何插件支持 EditorConfig 代码风格配置的编辑器:
▲ 原生支持 EditorConfig 的编辑器
然后还贴出了可以通过插件支持的编辑器:
▲ 可以通过插件支持 EditorConfig 的编辑器
EditorConfig 本身只定义了一个核心集,表示所有语言都共同遵循的代码格式规范:EditorConfig 属性的核心集。同时,还有一些其他定义的规范:EditorConfig 的完整属性,不过这里不包括语言特定的规范。
Visual Studio 对 EditorConfig 的支持程度
Visual Studio 2017 开始添加了对 EditorConfig 的原生支持(你当然能在上面看到 Visual Studio 的图标啦)。
原生的 Visual Studio 2017 支持 EditorConfig 属性的核心集和一些语言的特定属性。具体来说,是这一些:
- 核心属性
indent_style
indent_size
tab_width
end_of_line
charset
trim_trailing_whitespace
insert_final_newline
- root
- 语言特定属性
- 所有 Visual Studio 支持的语言(XML 除外)均支持 EditorConfig 编辑器设置。
- 此外,EditorConfig 还支持适用于 C# 和 Visual Basic 的代码样式约定和命名约定。
也就是说,当你的项目中存在 EditorConfig 的配置文件 .editorconfig 的时候,Visual Studio 就会应用 EditorConfig 的设置,而且可以适用于多数情况下的编程约定。
Visual Studio 中 .NET 相关语言(C# VB)的 EditorConfig 属性,可以参考 .NET coding convention settings For EditorConfig。
在 Visual Studio 中添加 EditorConfig 配置
Visual Studio 支持 EditorConfig 对编程规范的约束。对于多数开发者来说,不需要安装任何插件的情况下这个编程规范的约束就会生效。
不过,还是需要有一些小伙伴进行编程规范的设置。设置规范可以使用很多个插件,比如 EditorConfig Language Service 和 Visual Studio IntelliCode。当然,前者会更加专业,后者只是因为需要使用到 EditorConfig 的配置,顺便带上了 EditorConfig 的编辑体验。
安装了 EditorConfig Language Service 插件之后,在解决方案上右键,添加 .editorconfig 文件。
▲ 添加 .editorconfig 文件
当然,也许你会发现在我的图中,两个插件都能生成 .editorconfig 文件。EditorConfig Language Service 生成的 .editorconfig 文件是空的,而 IntelliCode 一经添加便提供了丰富的 C# 语言约定的属性设置。不过,IntelliCode 提供的设置多少取决于你目前解决方案中的项目类型,这些属性是从 这里 推断的。
如果你使用 EditorConfig Language Service 生成了 .editorconfig 文件,则可以继续点击小灯泡生成按照微软约定的编程规范:
▲ 生成规范
在 Visual Studio 中开启 EditorConfig 支持
实际上,Visual Studio 一旦检测到 .editorconfig 文件的存在,格式约定就会自动生效。
在 ReSharper 中开启 EditorConfig 支持
一样的,ReSharper 默认是
这篇关于在 Visual Studio 中使用 EditorConfig 统一代码风格(含原生与插件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!