git行级变更不显示需检查git.enabled是否启用及工作区根目录下是否存在.git文件夹;波浪线缺失需确认语言服务运行、editor.diagnostic.decorations.enabled为true且无冲突插件;自定义颜色须用workbench.colorcustomizations。

Git 行级变更状态不显示:检查 git.enabled 和工作区根目录
VSCode 默认开启 Git 装饰,但前提是它能识别出当前是 Git 仓库。常见现象是:文件有修改却没绿色/蓝色/灰色标记,Source Control 视图里也空空如也。
- 确认项目根目录下存在
.git文件夹(不是子目录里有)——VSCode 只认打开的文件夹为工作区根,且只向上扫描一级.git - 检查设置中
git.enabled是否为true(在设置搜索栏输git.enabled即可定位) - 如果用了 submodule 或多根工作区,每个根必须独立含
.git;否则只有主根生效 - Windows 下路径含中文或空格一般不影响,但若 Git CLI 本身报错(比如
git status在终端失败),VSCode 也会静默禁用装饰
错误波浪线(squiggle)不出现:确认语言服务已加载且诊断未被屏蔽
波浪线来自语言服务器(如 TypeScript Server、ESLint、Pylance),不是编辑器原生功能。即使语法明显错,也可能“看起来没报错”。
- 看右下角状态栏:是否有
TS/Python/ESLint等标识正在运行;若显示Starting...卡住,大概率是插件初始化失败 - 检查设置中
editor.suggestOnTriggerCharacters不影响波浪线,真正相关的是javascript.suggestionActions.enabled(无关)和editor.diagnostic.decorations.enabled(必须为true) - 某些插件(如旧版 TSLint)已废弃,会干扰 TS Server 正常报错;卸载冲突插件后重启 VSCode
- 打开命令面板(
Ctrl+Shift+P),运行Developer: Toggle Developer Tools,切到 Console 标签页,筛选error,常能看到语言服务崩溃日志
行间装饰(inline decorations)要自定义颜色:改 workbench.colorCustomizations
VSCode 内置的 Git 变更色(如新增行左侧蓝条)和波浪线颜色不能通过普通主题设置调整,得靠 workbench.colorCustomizations 手动覆盖。
- 在设置 JSON 中添加:
"workbench.colorCustomizations": { "gitDecoration.addedResourceForeground": "#4EC9B0", "gitDecoration.modifiedResourceForeground": "#C586C0", "editorError.foreground": "#F44747", "editorWarning.foreground": "#FFA500" } - 注意:这些 key 名区分大小写,且部分(如
editorError.foreground)影响全局,不只是当前文件 - 如果改完没生效,先确认没拼错 key;再检查是否被安装的主题强制重写了颜色(主题的
package.json里可能含colors字段) - 想只对某语言生效?目前 VSCode 不支持按语言定制装饰色,只能全局或靠插件扩展(如
errorlens)
同时显示 Git 状态 + 波浪线 + 自定义装饰:别关 editor.inlineSuggest.enabled
这个设置名字带 “suggest”,但实际会影响行间装饰的渲染优先级。关掉它,有时会导致 Git 左侧装饰条或 ESLint 行尾提示消失。
-
editor.inlineSuggest.enabled控制的是“自动补全建议浮层”,但它底层复用了同一套装饰渲染通道;设为false后,部分插件(尤其是老版本)会跳过注册行间装饰 - 如果你不需要内联补全,但又想要完整装饰,保留
true,再配合editor.inlineSuggest.showToolbar设为false隐藏工具栏更稳妥 - 另一个干扰项是
editor.lightbulb.enabled:它控制灯泡图标(快速修复),不影响波浪线,但关了会让修复入口变隐蔽
装饰类功能高度依赖插件状态和配置叠加顺序,一个设置项改错,可能让 Git 标记、语法报错、ESLint 提示全部失效——不是某个功能坏了,而是整个装饰链断在了中间某环。











