EditorConfig 能很好的“无痛”地解决上面问题。下面我就来介绍使用 EditorConfig 来解决上面的问题。只需两步~ 在项目根创建一个名为 .editorconfig 的文件。 EditorConfig 支持的编码规范在后文会有详细的介绍。 安装与编辑器对应的 EditorConfig 插件。 其工作原理是:当你在编码时,EditorConfig 插件会去查找当前编辑文件的所在文件夹或其上级文件夹中是否有 .editorconfig 文件。 如果有,则编辑器的行为会与 .editorconfig 文件中定义的一致,并且其优先级高于编辑器自身的设置。 EditorConfig 支持的常用的编码规范,如下 charset:文件编码。 可见 EditorConfig 能设置的编码规范不多,但也基本够用。EditorConfig 和 ESLint 之类的编码规范验证工具一起使用是不错的选择。
# EditorConfig文件使用INI格式。斜杠(/)作为路径分隔符,#或者;作为注释。 路径支持通配符: # 表明是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件 root = true # * 匹配除/之外的任意字符 # ** 匹配任意字符串 #
EditorConfig EditorConfig有助于从事同一项目的多个开发人员在跨多个编辑器和IDE使用时保持一致的编码风格。 EditorConfig项目包含一个用于定义编码样式的文件格式和一个文本编辑器插件集合,这些文本编辑器插件使编辑器可以读取文件格式并遵循定义的样式。 支持多种文件格式 编辑器读取到文件格式会匹配并遵循配置文件定义的规则; 就近原则 打开文件时,EditorConfig插件会在打开的文件的目录中以及每个父目录中查找名为.editorconfig的文件。 如果到达根文件路径或找到root = true的EditorConfig文件,将停止对.editorconfig文件的搜索。 离文件最近的配置规则生效,优先级更高;一般在根目录设置一个配置文件即可。 配置文件 .editorconfig 定义规则配置,来避免常见的代码格式不一致和丑陋的 diffs。
设置编辑器配置 EditorConfig 使不同编辑器可以保持同样的配置。 当然这需要在你的 IDE 上安装了必要的 EditorConfig 插件或扩展。 本文以 VSCode 为例,但 EditorConfig 支持很多编辑器。 在项目中增加自定义的编辑器配置: .editorconfig [*] end_of_line = lf charset = utf-8 indent_style = space 如果安装了 the EditorConfig vscode 避免 EditorConfig 和 Prettier 的重复配置 但是,这意味着 Prettier 和 EditorConfig 共享了相同的配置选项,而我们不希望同步维护两份重复的配置 因为这也是一个浏览器相关的配置,所以应该将其移至 .editorconfig。
文档 EditorConfig for VS Code EditorConfig官网 微软说明 editorconfig-vscode github 简介 EditorConfig和Prettier一样 IDE editorConfig不是什么软件,而是一个名称为.editorconfig的自定义文件。 .editorconfig文件,直到有一个配置文件root=true EditorConfig的配置文件是从上往下读取的并且最近的EditorConfig配置文件会被最先读取. : https://EditorConfig.org # top-most EditorConfig file 表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件 | npm install -D editorconfig) 安装editorconfig依赖包主要是因为EditorConfig依赖于editorconfig包,不安装的可能会导致EditorConfig
一、工具名称 editorconfig-222.2889.3 二、下载安装渠道 editorconfig-222.2889.3 通过CSDN官方开发的【猿如意】客户端进行下载安装。 .editorconfig打开文件时,EditorConfig 插件会在打开文件的目录和每个父目录中查找名为的文件。. editorconfig如果到达根文件路径或root=true找到EditorConfig 文件,将停止搜索文件。 EditorConfig 文件从上到下阅读,找到的最新规则优先。 七、editorconfig-222.2889.3使用/体验感受 一 概述 1.编辑器是否支持editorConfig 有些编辑器默认支持editorConfig,如webstorm; 而有些编辑器则需要安装 editorConfig插件,如ATOM、Sublime、VS Code等 2.匹配和优先级 当打开一个文件时,editorConfig插件会在打开文件的目录和其每一级父目录查找.editorconfig
比如我的项目结构是这样: 1 2 3 4 5 6 + Walterlv.Demo + Core - .editorconfig - Foo.cs - .editorconfig - Program.cs 那么 Foo.cs 文件的规则严重性将受 Core 文件夹中的 .editorconfig 文件管理,如果有些规则不在此文件夹的 .editorconfig 里面 ,就会受外层 .editorconfig 管理。 另外,你甚至可以在整个代码仓库的外部文件夹放一个 .editorconfig 文件,这样,如果项目中没有对应的规则,那么外面文件夹中的 .editorconfig 规则就会生效,这相当于间接做了一个全局生效的规则集 .editorconfig 中的内容 .editorconfig 中的分析器严重性内容就像下面这样: 1 2 3 4 5 6 7 8 9 10 [*.cs] # CC0097: You have missing
在 EditorConfig 官网中,贴出了一些可以纯原生无需任何插件支持 EditorConfig 代码风格配置的编辑器: ▲ 原生支持 EditorConfig 的编辑器 然后还贴出了可以通过插件支持的编辑器 : ▲ 可以通过插件支持 EditorConfig 的编辑器 EditorConfig 本身只定义了一个核心集,表示所有语言都共同遵循的代码格式规范:EditorConfig 属性的核心集。 也就是说,当你的项目中存在 EditorConfig 的配置文件 .editorconfig 的时候,Visual Studio 就会应用 EditorConfig 的设置,而且可以适用于多数情况下的编程约定 ▲ 添加 .editorconfig 文件 当然,也许你会发现在我的图中,两个插件都能生成 .editorconfig 文件。 在 ReSharper 中开启 EditorConfig 支持 一样的,ReSharper 默认是开启了 EditorConfig 配置的检测的,也就是说只要存在 .editorconfig 文件,那么
EditorConfig EditorConfig 文件用于提供适用于特定资源文件或文件夹的选项。 选项位于节标头下,用于标识适用的文件和文件夹。 备注 EditorConfig 选项仅应用于项目或目录中的源文件。 作为 AdditionalFiles 包含在项目中的文件不被视为源文件,EditorConfig 选项不会应用于这些文件。 在两个 EditorConfig 文件中 EditorConfig 文件位于文件系统更深层的条目(因此文件路径较长)优先。 在 EditorConfig 文件和全局 AnalyzerConfig 文件中 EditorConfig 文件中的条目优先。 规则集文件已弃用,改用 EditorConfig 和全局 AnalyzerConfig 文件。 建议将规则集文件转换为等效的 EditorConfig 文件。
EditorConfig ? A. 是什么? EditorConfig 不是什么软件,而是一个名为 .editorconfig 的配置文件,该文件描述了项目的编码规范。 图:.editorconfig 的常规配置; ? B. 放哪? 通常在项目根目录放一个就ok。 图:.editorconfig放项目根目录就行 ? C. 需要额外装插件吗? 不需要,主流 IDE 基本都原生支持 EditorConfig; 图:这些 IDE 原生支持 EditorConfig; ? D.怎么触发? Ctrl + S 保存文件时自动触发; 2. 建议将 EditorConfig 与 Prettier 配合使用。 参考: EditorConfig官网:https://editorconfig.org/ Prettier官网:https://prettier.io/
三.editorconfig + eslint 废话不(再)多说,直接呈上低配版解决方案: editorconfig 格式统一配置工具 跨浏览器广泛支持(常见如IDEA,WebStorm,Sublime insert_final_newline: 设为true表明使文件以一个空白行结尾 3.使用示例 3.1安装方法 在editorconfig官网找到自己所用的编辑器所对应的editorconfig插件( touch .editorconfig命令来生成配置文件,文件的内容如下所示: # top-most EditorConfig file root = true # Unix-style newlines 六.大史的其他压箱底宝贝 有了editorconfig和eslint,协作开发中的问题就能解决吗?当然没那么简单。正所谓优秀的代码千篇一律,丑陋的代码各有风骚。 editorconfig处理了Tab和Space一致性的问题,但是很多开发人员并没有用Tab来控制缩进的习惯,而是习惯手动敲空格,写代码写嗨了基本都是随机敲出0-4个空格,这时候editorconfig
(并禁用所有其他规则) 提示 “所有规则”类别具有一个额外的 EditorConfig 或规则集文件,用于禁用所有规则。 预定义的 EditorConfig 文件 Microsoft.CodeAnalysis.NetAnalyzers 分析器包的预定义 EditorConfig 文件位于 NuGet 包安装位置的“editorconfig 例如,用于启用所有安全规则的 EditorConfig 文件位于 editorconfig/SecurityRulesEnabled/.editorconfig。 请将所选的 .editorconfig 文件复制到项目的根目录中。 请参阅 分析器配置 EditorConfig 的 .NET 代码样式规则选项
将从 .editorconfig 文件中读取首选项(如果存在),否则将使用一组默认首选项。 有关详细信息,请查看 EditorConfig 文档。 有关可以在 .editorconfig 文件中指定的可能格式设置选项的完整列表,请参阅 C# 格式设置规则。 Style dotnet format style - 设置代码格式以匹配代码样式的 EditorConfig 设置。 有关可以在 editorconfig 文件中指定的格式设置选项的完整列表,请参阅代码样式规则。 有关可在 editorconfig 文件中指定的分析器规则的列表,请参阅代码样式规则。
我探索了让 dotnet format 忽略对生成代码进行自动格式化的方法 实现的方法很简单,只需要指定某个生成代码文件,或者存放代码文件的文件夹作为 generated_code 生成代码即可 在 .editorconfig 文件里,可以指定当前文件夹内的包括子文件夹内的文件的格式化规则,通过在 .editorconfig 文件里,设置某些文件或文件夹是被 generated_code 即可让 dotnet format 在进行格式化的时候,进行忽略 例如指定某个 MainPage.g.i.cs 文件作为生成文件,代码如下 # Remove the line below if you want to inherit .editorconfig All files should be considered generated code. generated_code = true 或者是对文件夹设置此文件夹存放的是生成代码,在文件夹里面存放 .editorconfig 文件,内容如下 # Remove the line below if you want to inherit .editorconfig settings from higher directories
提示 在 EditorConfig 文件中定义代码样式选项,就是在配置代码样式分析器分析代码的方式。 EditorConfig 文件是适用于这些分析器的配置文件。 此外,如果在 Visual Studio 中打开的项目或解决方案包含 EditorConfig 文件,则优先采用 EditorConfig 文件中的选项。 在 Windows 上的 Visual Studio 中,还可以从文本编辑器选项生成 EditorConfig 文件。 EditorConfig 文件示例 下面是具有默认选项的示例 .editorconfig 文件,可帮助你入门。 文件 .NET 运行时 .editorconfig 文件
script> <script> const { createEditor, createToolbar } = window.wangEditor; // 编辑器配置 const editorConfig = {}; editorConfig.placeholder = '请输入内容'; // 工具栏配置 const toolbarConfig = {}; // 创建编辑器 const editor = createEditor({ selector: '#editor-container', config: editorConfig = {}; editorConfig.placeholder = '请输入内容'; // 工具栏配置 const toolbarConfig = {}; // 创建编辑器 const editor = createEditor({ selector: '#editor-container', config: editorConfig
EditorConfig EditorConfig是一个用于统一编辑器配置的插件。它可以定义一组编辑器配置规则,如缩进、换行符等,并在不同的编辑器中自动应用这些规则。 通过使用EditorConfig,可以确保团队成员在不同的编辑器中使用相同的代码风格和配置,从而提高代码的可读性和一致性。 配置文件 .editorconfig # http://editorconfig.org # 表示是最顶层的配置文件,发现值为true时,才会停止查找.editorconfig文件 root = true 始终在文件末尾插入一个新行 [*.md] # 表示仅 md 文件适用以下规则 max_line_length = off trim_trailing_whitespace = false vscode需安装插件EditorConfig
最后,我们也把EditorConfig for VS Code插件安装上,这个插件可以让编译器读取配置文件,并且按照配置文件里面的规定来格式化代码,有了这个插件,只要定义好一份配置文件,就算团队成员用的编译器不同 "source.fixAll.eslint": true, }, "eslint.validate": ["typescript", "javascript", "vue"] } 2.2 EditorConfig 配置 接下来,我们看一下EditorConfig for VS Code如何配置。 首先,我们需要在项目根目录创建.editorconfig文件。创建完成之后,这个文件里面定义的代码规范规则会高于编译器默认的代码规范规则。 接着,我们只需要在.editorconfig文件中加入我们想要覆盖的编译器的配置,比如下面的配置定义了缩进为2个空格,那么就算编译器默认的是4个空格的缩进,最后也会按照我们的.editorconfig配置
例如: 根级 .editorconfig:将通用 .editorconfig 文件放置在解决方案根目录中,以定义应用于整个解决方案的默认设置。 项目特定 .editorconfig:将另一个 .editorconfig 文件放置在特定项目的目录中,以便在从根目录继承设置的同时为该项目应用不同的规则。 文件夹特定 .editorconfig:如果某些文件夹(例如,测试项目、遗留代码)需要唯一设置,您可以向这些文件夹添加 .editorconfig 文件以覆盖继承的配置。 /solution-root ├── .editorconfig (applies to all projects) ├── ProjectA/ │ ├── .editorconfig 如您所见:.editorconfig 文件或一组经过深思熟虑的此类文件提供了一种集中且一致的方式来管理整个项目或团队的分析器行为。 有关更多详细信息,请参阅 .editorconfig 文档。
.min.js typings node_modules # .prettierignore *.min.js /node_modules /dist # OS .DS_Store .idea .editorconfig npmrc package-lock.json # Ignored suffix *.log *.md *.svg *.png *ignore ## Built-files .cache dist .editorconfig 配置文件 抹平不同编辑器之间的差异 # .editorconfig # http://editorconfig.org # https://github.com/editorconfig /editorconfig/wiki/EditorConfig-Properties # 根目录的配置文件,编辑器会由当前目录向上查找,如果找到 `roor = true` 的文件,则不再查找