Editorconfig enforcement
Skill shiyou0130011/Skill-of-editorconfig/skills/editorconfig-enforcement
寫入或修改程式碼時,自動遵守專案的 .editorconfig 設定。若專案無 .editorconfig,則依照本 skill 附帶的範例 .editorconfig 來排版。在每次編輯、建立檔案前自動套用。From its SKILL.md
npx -y skills add shiyou0130011/Skill-of-editorconfig --skill editorconfig-enforcementAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.6 KB, 991 tokens by cl100k_base, as published. Nobody here has run it
EditorConfig 排版規則
在寫入或修改任何程式碼檔案時,必須遵守以下排版規則。
規則優先順序
- 專案 .editorconfig — 若專案根目錄(或任何父目錄)存在
.editorconfig,一律以其設定為準 - 範例 .editorconfig — 若專案未提供
.editorconfig,則依照本 skill 同目錄下的.editorconfig.example作為排版依據
步驟
在每次編輯或建立檔案之前:
- 從專案根目錄往上搜尋
.editorconfig檔案 - 若找到,解析其中對應檔案類型的設定(indent_style、indent_size、tab_width、end_of_line、charset、trim_trailing_whitespace、insert_final_newline 等),並嚴格遵守
- 若未找到
.editorconfig,讀取本 skill 目錄下的.editorconfig.example,並依照其中對應檔案類型的設定來排版
範例 .editorconfig 重點摘要
本 skill 附帶的 .editorconfig.example 包含以下預設:
全域預設
- 縮排方式:tab
- tab 寬度:4
- 換行符號:lf
- 編碼:utf-8
- 移除行尾空白:是
- 檔案結尾加換行:是
語言專屬覆寫(僅限語法本身強制的規則)
| 檔案類型 | 縮排方式 | 縮排寬度 | 原因 |
|---|---|---|---|
*.go | tab | — | gofmt 強制 |
Makefile / *.mk | tab | — | 語法要求 |
*.py | space | 4 | PEP 8 規範 |
*.rs | space | 4 | rustfmt 預設 |
*.toml | space | 2 | 慣例 |
*.{yml,yaml} | space | 2 | YAML 規範不允許 tab |
特殊處理
| 檔案類型 | 規則 | 原因 |
|---|---|---|
*.{md,mdx} | 不移除行尾空白 | Markdown 行尾兩空白代表換行 |
*.{diff,patch} | 不移除行尾空白、不加結尾換行 | 避免破壞 diff 內容 |
重要提醒
- 修改既有檔案時:優先保持該檔案現有的縮排風格一致性。如果檔案已全部使用 spaces,繼續使用 spaces;已全部使用 tabs,繼續使用 tabs。不要在同一個檔案中混用
- 新建檔案時:依照上述優先順序決定排版方式
- 專案 .editorconfig 的設定永遠優先:即使範例 .editorconfig 有不同設定,只要專案有自己的
.editorconfig,一律以專案為準 - 不要在程式碼中加入排版相關的註解說明
What ships with it: 1 file
1.4 KB alongside SKILL.md
- .editorconfig.example1.4 KB