ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

VS Code四层缩进体系:从4个空格到工程化契约

VS Code四层缩进体系:从4个空格到工程化契约 1. 项目概述为什么“4个空格”不是随便选的而是工程师每天要面对的真实战场在写 Python 的时候你有没有被一行缩进错误卡住半小时在和同事联调 JavaScript 时是不是总有人的代码里混着 Tab 和空格Git 提交记录里全是无意义的 whitespace 变更又或者你在 VS Code 里按了ShiftAltF结果整段代码像被龙卷风扫过——缩进全乱、括号错位、逻辑块塌陷这些不是小问题是每天真实消耗开发者心力的“隐性工时黑洞”。而标题里这句看似简单的“VS Code 设置代码格式化缩进为4个空格”背后其实是一套横跨编辑器行为、语言规范、团队协作和工程实践的完整知识链。它不是点几下设置就能解决的配置题而是一道需要同时答对“语法语义”“工具链协同”“团队契约”三张考卷的综合题。我从 2013 年开始用 Sublime Text 写前端到 2016 年切到 VS Code再到后来带三个不同技术栈的团队做 Code Review踩过的缩进坑比写的 if 语句还多。最典型的一次是某次上线前夜后端同学用 VS Code 格式化了一段 Go 代码本地跑通CI 也过了但部署到测试环境就 panic —— 原因是他在.editorconfig里写了indent_style tab而 Go 官方 lintergofmt强制要求 8 个空格缩进VS Code 没配好 formatter chain结果格式化时把if块里的return缩进了 4 个空格破坏了 Go 的作用域语义。这种问题不会报 syntax error但会直接让程序在特定分支下崩溃。所以“设成 4 个空格”这个动作本质是在编辑器里签一份“缩进契约”它承诺对 Python 不越界、对 JavaScript 不妥协、对 TypeScript 不混淆、对 Markdown 不误伤还要在多人协作时保持 Git diff 干净、CI 流水线稳定、Code Review 高效。这不是个人偏好问题而是工程底线问题。尤其当你看到热搜词里反复出现“vscode python环境配置”“头歌python 行与缩进答案”“idea代码格式化失效”就知道全国有上百万初学者正卡在这个看似最基础、实则最易被忽略的环节上。他们需要的不是“怎么点设置”而是“为什么必须这样点”“点错了会怎样”“点了之后其他工具会不会打架”。这篇内容就是给所有正在被缩进折磨的人一份能直接抄作业、能理解原理、能避开深坑的实战手册。2. 核心设计思路拆解VS Code 的缩进控制不是单点开关而是一套四层防御体系很多人以为“设置缩进为4个空格”就是在 Settings 里搜tabSize然后填个 4 就完事了。实测下来这么干的项目90% 在两周内就会出现格式化不一致、Git 提交污染、同事抱怨“你改了我的空格”等问题。根本原因在于VS Code 的代码格式化不是靠一个参数驱动的而是由四层相互耦合、又可能彼此冲突的机制共同决定的。我把这套机制叫作“四层防御体系”每一层都必须校准缺一不可。漏掉任何一层你的“4个空格”就只是个幻觉。2.1 第一层编辑器级默认缩进Editor: Tab Size这是最表层、也是新手最先接触的设置。路径是Settings → Text Editor → Formatting → Tab Size对应配置项是editor.tabSize: 4。它的作用非常明确当用户手动按 Tab 键、或使用CtrlShiftIIndent Line等编辑命令时插入多少个空格。但它完全不参与代码格式化Format Document过程。也就是说你在这里设成 4按 Tab 键确实会插 4 个空格但如果你装了 Prettier 插件再按ShiftAltFPrettier 会完全无视这个值按它自己的规则来。很多初学者的困惑就源于此——“我明明设了 4为什么格式化后还是 2” 因为格式化压根没看这一层。这一层只管“人手操作”不管“自动格式化”。2.2 第二层语言级缩进规则Language-specific SettingsVS Code 支持为每种语言单独设置缩进行为。比如 Python 社区约定俗成用 4 个空格而 TypeScript 社区普遍接受 2 个空格。VS Code 默认会为不同语言加载不同的缩进规则。你可以在 Settings 里搜索python tabSize会看到python.editor.tabSize: 4这一项。它的优先级高于全局editor.tabSize意味着当你打开.py文件时VS Code 会自动切换到这个值。但注意这只是编辑行为的默认值依然不控制格式化。真正关键的是语言关联的 formatter。VS Code 本身不提供 Python 格式化能力它必须通过插件如ms-python.python调用外部工具如autopep8、black或yapf。这些工具各自有独立的配置文件.editorconfig、pyproject.toml、.prettierrc它们的优先级远高于 VS Code 的任何设置。所以第二层的作用是“确保编辑体验和语言习惯一致”为后续格式化打下基础但不是决定性力量。2.3 第三层格式化器Formatter级配置核心战场这才是真正的“缩进决策中心”。当你按下ShiftAltFVS Code 并不自己格式化代码而是调用你指定的 formatter。这个 formatter 可以是 VS Code 自带的如 HTML、CSS也可以是第三方插件如 Prettier for JavaScript、Black for Python、Clang-Format for C。每个 formatter 都有自己的缩进配置项且语法各不相同。例如Prettier 的配置项是tabWidth: 4Black 的配置项是[tool.black] indent-width 4Clang-Format 的配置项是IndentWidth: 4这些配置项的值才是最终决定格式化后缩进宽度的“圣旨”。VS Code 的editor.tabSize设置对它们来说只是个参考甚至完全无效。我见过太多团队把 VS Code 设置调成 4却忘了在prettier.config.js里写tabWidth: 2结果每次格式化都把 4 个空格强行改成 2 个Git diff 里全是空格变更Code Review 时没人愿意看。所以第三层不是“设置”而是“对齐”——必须确保你选用的 formatter 的缩进配置和团队约定、语言规范、项目需求完全一致。这才是“4个空格”能否落地的关键。2.4 第四层项目级统一契约.editorconfig前三层都是编辑器或工具层面的配置它们可以被个人随意修改。而第四层.editorconfig是唯一能强制约束整个项目所有开发者的机制。它是一个放在项目根目录的纯文本文件内容类似root true [*] indent_style space indent_size 4 end_of_line lf charset utf-8 trim_trailing_whitespace true insert_final_newline true [*.py] indent_size 4 [*.js] indent_size 2VS Code 会自动读取并应用这个文件里的规则而且它会覆盖前三层的所有设置。更重要的是.editorconfig是跨编辑器、跨平台的。无论你用 VS Code、WebStorm 还是 Vim只要安装了 EditorConfig 插件都会遵守同一套规则。Git 提交时它还能配合 pre-commit hook在代码进仓库前就做一次强制格式化。这才是真正意义上的“团队契约”。没有.editorconfig你的“4个空格”就只是本地幻觉有了它哪怕新同事用记事本改代码只要他装了 EditorConfig 插件保存时也会自动转成 4 个空格。所以四层体系的逻辑是第一层保编辑手感第二层保语言习惯第三层保格式化结果第四层保团队统一。漏掉任何一层这个“4”字就立不住。3. 核心细节解析与实操要点从零开始构建一套可交付、可复现、可审计的缩进方案现在我们进入实操环节。目标很明确让你的 VS Code 在打开任意项目时无论是.py、.js还是.md文件都能稳定、可靠、无歧义地执行“4个空格缩进”。这不是一个点击动作而是一套可交付、可复现、可审计的配置方案。我会把每一步的操作、背后的原理、以及为什么必须这么做全部拆开讲透。你可以直接照着做也能理解每一步在四层体系中扮演什么角色。3.1 步骤一校准编辑器级默认值第一层防御打开 VS Code按Ctrl,Windows/Linux或Cmd,Mac进入 Settings。在右上角搜索框输入tab size找到Text Editor Formatting Tab Size。将数值改为4。这一步很简单但有两个关键细节必须注意提示这个设置只影响手动 Tab 操作不影响格式化。但它会影响你写代码时的直觉。如果编辑器默认是 2而你习惯敲 Tab 写 4那每次都要手动空格补位效率极低。所以先统一“手写”的节奏是建立良好编码习惯的第一步。注意不要在这里勾选Detect Indentation。这个选项会让 VS Code 根据文件首行缩进来自动猜测tabSize。听起来很智能实则是灾难源头。想象一下你打开一个历史遗留的.py文件第一行是def hello():前面有 2 个空格可能是某人手误VS Code 就会把整个文件的tabSize设成 2你后面敲 Tab 全是 2 个空格和团队约定的 4 个空格冲突。所以永远关闭Detect Indentation强制使用你设定的固定值。完成这一步后新建一个空白文件按几次 Tab 键确认每次插入的是 4 个空格而不是 Tab 字符\t。你可以用CtrlShiftP打开命令面板输入Toggle Render Whitespace开启空格/Tab 显示亲眼看到效果。这是你和编辑器之间第一个明确的契约。3.2 步骤二为关键语言配置语言级规则第二层防御接下来我们要告诉 VS Code“当我在处理 Python 文件时请用 Python 的方式对待缩进”。这一步不是可选的因为不同语言的缩进语义不同。Python 的缩进是语法的一部分少一个空格就 SyntaxError而 JavaScript 的缩进只是风格不影响运行。所以我们必须分语言配置。在 Settings 搜索框输入python tabSize找到Python Editor: Tab Size设为4。同理搜索javascript tabSize设为4虽然 JS 社区常用 2但如果你的项目要求统一 4就设 4。对于 Markdown搜索markdown tabSize也设为4。这些设置会生成如下 JSON 片段写入你的settings.json可通过CtrlShiftP→Preferences: Open Settings (JSON)直接编辑[python]: { editor.tabSize: 4, editor.insertSpaces: true }, [javascript]: { editor.tabSize: 4, editor.insertSpaces: true }, [markdown]: { editor.tabSize: 4, editor.insertSpaces: true }这里有个极其重要的细节editor.insertSpaces: true。它表示“永远用空格代替 Tab 字符”。为什么必须开因为 Tab 字符\t在不同编辑器、不同字体、不同终端下的显示宽度是可变的可能是 2、4、8而空格 的宽度永远是 1。一旦你的代码里混入 TabGit diff 会把它当成不可见字符变更CI 构建时 linter 可能报E111 indentation is not a multiple of fourPython或者 Prettier 报Expected indentation of 4 spaces but found 1 tab。所以“用空格不用 Tab”是现代工程实践的铁律。这一步就是在编辑器层面把“4个空格”这个概念从“数量”升级为“字符类型数量”的双重契约。3.3 步骤三选定并配置格式化器第三层防御核心现在到了最关键的一步。你需要选择一个格式化器并精确配置它的缩进参数。选择哪个我的建议非常明确对 Python 用black对 JavaScript/TypeScript 用Prettier对 HTML/CSS 用 VS Code 内置 formatter。理由如下black是 Python 社区事实标准它“不做选择”强制统一风格包括 4 个空格缩进避免团队无休止的风格争论。它没有配置项你只需要pip install blackVS Code 装上ms-python.python插件它就自动生效。Prettier是前端领域事实标准它把格式化逻辑完全抽离只留极少配置项tabWidth,useTabs,semi等确保“所见即所得”。它不关心代码逻辑只负责美化和 ESLint 形成完美分工ESLint 管逻辑Prettier 管样式。VS Code 内置的 HTML/CSS formatter 足够成熟稳定无需额外插件减少依赖。配置Prettier的tabWidth在项目根目录创建prettier.config.js文件。写入以下内容module.exports { tabWidth: 4, // 核心缩进宽度为4个空格 useTabs: false, // 强制用空格不用Tab semi: true, // 行尾加分号可选按团队约定 singleQuote: true, // 用单引号可选 };在 VS Code Settings 中搜索default formatter找到JavaScript Format: Default Formatter选择esbenp.prettier-vscode即 Prettier 插件。实操心得我曾经在一个 Vue 项目里为了“省事”直接在 VS Code Settings 里全局设置了prettier.tabWidth: 4。结果发现这个设置只对当前工作区生效一旦你打开另一个没有prettier.config.js的项目它就失效了。而且这个全局设置无法被 Git 跟踪新同事 clone 代码后必须手动去 Settings 里找一遍。所以永远把 formatter 配置写在项目根目录的配置文件里prettier.config.js、pyproject.toml而不是 VS Code 的 UI 设置里。这是保证配置可交付、可复现的黄金法则。3.4 步骤四建立项目级统一契约第四层防御终极保障最后一步也是最有力的一步创建.editorconfig文件。它应该放在你项目的最顶层目录和package.json或pyproject.toml同级。内容如下# EditorConfig is awesome: https://editorconfig.org root true # 对所有文件生效的通用规则 [*] # 缩进用空格不是Tab indent_style space # 缩进宽度为4个空格 indent_size 4 # 行尾换行符用LFUnix风格 end_of_line lf # 字符编码用UTF-8 charset utf-8 # 删除行尾空白 trim_trailing_whitespace true # 文件末尾插入空行 insert_final_newline true # 对Python文件的特殊规则虽然indent_size4已全局定义这里显式写出更清晰 [*.py] indent_size 4 # 对JavaScript/TypeScript文件 [*.js] indent_size 4 [*.ts] indent_size 4 # 对Markdown文件 [*.md] indent_size 4 # 对JSON文件通常用2个空格但如果你的项目要求统一4就写4 [*.json] indent_size 4这个文件的作用远不止于“告诉 VS Code 怎么做”。它是一份可执行的工程文档。当你把这个文件提交到 Git 仓库它就自动成为项目的一部分。任何新成员 clone 代码后只要安装了 EditorConfig 插件VS Code 商店搜EditorConfig for VS Code免费插件就会自动读取并应用这些规则。更重要的是它能和 CI/CD 流水线集成。例如在 GitHub Actions 中你可以加一个步骤- name: Check EditorConfig uses: editorconfig-checker/actionv3 with: files: **/*这个 Action 会扫描所有文件检查是否符合.editorconfig规则不符合就直接 fail 构建。这就把“4个空格”从一个开发者的自觉行为升级为一个不可绕过的工程门禁。这才是真正意义上的“落地”。4. 实操过程与核心环节实现一次完整的“4个空格”配置全流程与现场验证现在我们把前面所有步骤串起来走一遍从零开始、到最终验证的完整流程。我会模拟一个真实的场景你刚接手一个全新的 Python JavaScript 混合项目老板说“所有代码必须用 4 个空格缩进”你要在 15 分钟内搞定本地环境并向团队输出一份可复用的配置指南。整个过程我会记录每一个操作、每一个命令、每一个预期结果就像你在旁边看着我操作一样。4.1 环境准备安装必要插件与工具首先确保你的 VS Code 是最新版至少 1.80。然后打开 ExtensionsCtrlShiftX搜索并安装以下插件ms-python.pythonPython 语言支持包含black、pylint等 formatter/linter 集成。esbenp.prettier-vscodePrettier 官方插件用于 JS/TS/HTML/CSS 格式化。EditorConfig for VS Code读取.editorconfig文件。GitLens可选但强烈推荐方便你实时查看 Git diff验证格式化是否干净。安装完成后重启 VS Code。这一步看似简单但它是整个链条的起点。我见过太多人跳过插件安装直接去 Settings 里调参数结果发现ShiftAltF根本没反应——因为 VS Code 本身不提供 Python 格式化能力必须靠插件桥接。4.2 创建项目骨架与配置文件假设你的项目名叫my-web-app。在终端里执行mkdir my-web-app cd my-web-app # 初始化 Git git init # 创建 Python 配置 echo [tool.black]\nindent-width 4 pyproject.toml # 创建 Prettier 配置 echo module.exports { tabWidth: 4, useTabs: false }; prettier.config.js # 创建 EditorConfig cat .editorconfig EOF root true [*] indent_style space indent_size 4 end_of_line lf charset utf-8 trim_trailing_whitespace true insert_final_newline true [*.py] indent_size 4 [*.js] indent_size 4 [*.md] indent_size 4 EOF # 创建一个测试文件 echo -e def hello():\nprint(world) test.py echo -e function hello() {\nconsole.log(world);\n} test.js这段脚本做了三件事1生成pyproject.toml让black知道要用 4 个空格2生成prettier.config.js让 Prettier 知道要用 4 个空格3生成.editorconfig作为项目级统一契约。注意pyproject.toml里用的是indent-width 4而prettier.config.js里用的是tabWidth: 4.editorconfig里用的是indent_size 4。这三个配置项语法不同但指向同一个目标。这就是“四层体系”的具象化体现。4.3 VS Code 设置同步与验证打开 VS Code用File → Open Folder打开my-web-app目录。此时VS Code 会自动检测到.editorconfig和pyproject.toml并加载相应规则。现在我们来验证每一层是否生效验证第一层编辑器级打开test.py光标放在第一行def hello():前按Tab键。你应该看到插入了 4 个空格而不是 Tab 字符。按CtrlShiftP→Toggle Render Whitespace确认显示的是 4 个·点而不是→箭头代表 Tab。验证第二层语言级在test.py文件里右键 →Format Document或ShiftAltF。如果一切正常print(world)这一行会自动缩进到def下面且是 4 个空格。如果没反应说明ms-python.python插件没正确识别black。这时按CtrlShiftP→Python: Select Interpreter选择你系统里已安装的 Python 解释器确保black已通过pip install black安装。验证第三层格式化器级打开test.js同样按ShiftAltF。console.log(world);应该被缩进到function下面且是 4 个空格。如果它缩进了 2 个说明 Prettier 没读到prettier.config.js。检查文件名是否拼写正确必须是prettier.config.js不能是prettier.json或其他并在 VS Code 的 Output 面板CtrlShiftU里选择Prettier看是否有报错信息。验证第四层项目级这是最硬核的验证。在终端里执行# 安装 editorconfig-cli全局 npm install -g editorconfig # 检查 test.py 是否符合规则 editorconfig test.py | grep indent_size # 应该输出indent_size4 # 检查 test.js editorconfig test.js | grep indent_size # 应该输出indent_size4这个命令会直接读取.editorconfig文件并告诉你当前文件被解析出的indent_size值。如果输出是4说明第四层防御已成功激活。4.4 Git 提交与团队交付让配置真正“活”起来最后一步把所有配置提交到 Git让它成为团队共享的资产git add .editorconfig pyproject.toml prettier.config.js git commit -m chore: enforce 4-space indentation across all files git push origin main然后给团队发一条简短的 Slack 消息“大家好已为项目my-web-app统一配置 4 空格缩进。只需1确保安装了ms-python.python和esbenp.prettier-vscode插件2打开项目后VS Code 会自动读取.editorconfig。以后所有ShiftAltF格式化都会严格遵循 4 空格。详情见 commit [xxx]。”这条消息里我没有说“请去 Settings 里改一个参数”而是说“安装插件打开项目自动生效”。因为真正的工程实践是让配置“零感知”地融入工作流而不是增加认知负担。这就是一个完整、可交付、可复现的“4个空格”方案的终点。5. 常见问题与排查技巧实录那些让我熬夜到凌晨三点的缩进 Bug 真相在过去的五年里我帮超过 30 个团队解决过缩进相关的问题。其中有 80% 的问题根源都不是“不会设置”而是“不知道哪一层在起作用”。下面我把我踩过的、修过的、被客户骂过的最典型的 5 个问题连同排查思路和终极解决方案毫无保留地分享出来。这些问题每一个都曾让我在凌晨三点对着 Git diff 抓狂但掌握了方法后现在 5 分钟就能定位。5.1 问题一格式化后缩进变成 2 个空格但所有设置都写着 4现象你在prettier.config.js里写了tabWidth: 4在.editorconfig里写了indent_size 4在 VS Code Settings 里也设了tabSize: 4但按ShiftAltF后JS 文件的缩进还是变成了 2 个空格。排查思路这是典型的“格式化器被覆盖”问题。VS Code 允许为每种语言指定默认 formatter但它也允许在文件内部通过注释临时覆盖。打开出问题的.js文件用CtrlF搜索// format或/* eslint-disable */。更隐蔽的是有些团队会在文件顶部加一行// prettier-ignore或者/* prettier-ignore */这行注释会告诉 Prettier“跳过这个文件”于是 VS Code 就会 fallback 到它内置的、默认 2 空格的 formatter。另一个常见原因是你安装了多个 formatter 插件比如同时装了Prettier和BeautifyVS Code 不知道该用谁就随机选了一个。解决方案在出问题的文件里删除所有// prettier-ignore或/* prettier-ignore */注释。在 VS Code 里打开出问题的文件按CtrlShiftP→Format Document With...选择Configure Default Formatter for javascript然后明确选择esbenp.prettier-vscode。在settings.json里强制锁定[javascript]: { editor.defaultFormatter: esbenp.prettier-vscode }这样无论你装了多少 formatterVS Code 都只认 Prettier。5.2 问题二Python 文件格式化后报错E111 indentation is not a multiple of four现象你用black格式化.py文件结果 VS Code 底部状态栏报错E111并且代码没变。真相E111是pylint的报错不是black的。black只负责格式化pylint负责检查。black把缩进设成了 4但pylint的配置里可能写了indent2导致它认为 4 个空格是“错误的缩进”。这其实是两个工具在打架。解决方案打开pyproject.toml确保里面只有black的配置没有pylint的配置。pylint的配置应该单独放在.pylintrc文件里。在.pylintrc里找到[MESSAGES CONTROL]段添加disablebad-continuation,missing-docstring # 如果你确定用 black可以禁用所有和缩进相关的检查 disablebad-indentation,invalid-name,too-few-public-methods或者更优雅的方式是在pyproject.toml里用black的--skip-string-normalization参数但这和缩进无关此处略过。核心原则black是“格式化权威”pylint是“逻辑检查权威”。让black负责缩进pylint负责逻辑二者职责分离互不干涉。5.3 问题三Git 提交后diff 里全是和-但只是空格变化现象你和同事都按了ShiftAltF但 Git diff 里却显示大量行被删除-和添加点开一看内容一模一样只是缩进空格数变了。根本原因你们两个人的.editorconfig文件不一致或者其中一人没装 EditorConfig 插件。.editorconfig是 Git 可追踪的但插件不是。A 同学装了插件B 同学没装B 同学的 VS Code 就按默认的 2 空格来编辑A 同学按 4 空格来编辑结果每次提交Git 都认为“B 改了缩进A 又改回来了”。终极解决方案强制插件安装在项目根目录创建extensions.json文件{ recommendations: [ ms-python.python, esbenp.prettier-vscode, editorconfig.editorconfig ] }VS Code 会自动提示新成员安装这些插件。 2.CI 层面拦截在 GitHub Actions 的pull_requestworkflow 里加一个步骤- name: Check whitespace consistency run: | git diff --check || (echo Whitespace errors detected! Please run ShiftAltF and commit again. exit 1)这个命令会检查所有改动的文件是否有 trailing whitespace 或 mixed tabs/spaces有就直接 fail PR。这是保护代码库纯净度的最后一道防线。5.4 问题四在远程服务器SSH上用 VS Code缩进设置不生效现象你用 VS Code 的 Remote-SSH 连接到 Linux 服务器打开一个.py文件按Tab键插入的是 8 个空格而不是 4 个。原因Remote-SSH 模式下VS Code 的 Settings 分为两部分Local你本机的设置和Remote服务器上的设置。你之前改的editor.tabSize只改了 Local而 Remote 还是默认的 4或 8。VS Code 的 Remote 设置需要在连接到服务器后再单独配置。操作步骤用 Remote-SSH 连接到服务器。按Ctrl,打开 Settings。在 Settings 页面右上角点击{}图标Open Settings (JSON)。确保你编辑的是Remote的settings.json而不是Local的。它的路径会显示Remote [hostname]。在Remote的settings.json里加入editor.tabSize: 4, editor.insertSpaces: true重启 Remote-SSH 连接CtrlShiftP→Remote-SSH: Kill VS Code Server on Host...然后重连。提示Remote-SSH 的插件也需要在 Remote 端单独安装。连接后在 Extensions 页面点击Remote标签页安装ms-python.python和esbenp.prettier-vscode。否则格式化功能在远程端是不可用的。5.5 问题五Vue 单文件组件.vue里template 和 script 的缩进不一致现象在一个.vue文件里script标签里的 JS 代码缩进是 4 个空格但template标签里的 HTML 代码缩进却是 2 个空格。原因.vue文件是复合文件VS Code 默认把它当作vue语言但vue语言本身没有内置 formatter。它会把script部分交给 JavaScript formatterPrettier把template部分交给 HTML formatterVS Code 内置。而 VS Code 内置的 HTML formatter默认tabSize是 2。解决方案在settings.json里为vue语言单独设置[vue]: { editor.tabSize: 4, editor.formatOnSave: true, editor.defaultFormatter: esbenp.prettier-vscode }在prettier.config.js里添加对 HTML 的支持module.exports { tabWidth: 4, useTabs: false, // 让 Prettier 也处理 HTML overrides: [ { files: [*.html, *.vue], options: { tabWidth: 4, useTabs: false, } } ] };这样Prettier 就会接管整个.vue文件确保script、template、style三部分的缩进风格完全统一。6. 经验总结与延伸思考当“4个空格”成为一种工程文化写到这里你可能已经意识到“VS Code 设置代码格式化缩进为4个空格”这件事早已超越了技术配置的范畴。它是一面镜子照出一个团队的工程成熟度它是一把尺子量出一个项目的可维护性底线它甚至是一种文化无声地传递着“我们重视细节”“我们尊重协作”“我们追求确定性”的价值观。我自己带团队时有一个不成文的规矩新人入职第一天不是教他写业务代码而是让他完成三件事1在本地 VS Code 里把test.py和test.js都
返回列表