行号没显示是因为editor.linenumbers被设为"off"或被工作区配置覆盖;应设为"on"/"relative"/"interval"/"off"四字符串之一,检查settings.json值合法性、优先级层级和字段名拼写,修改后立即生效。

行号没显示,不是 VSCode 坏了,而是 editor.lineNumbers 被设成了 "off",或者被工作区配置悄悄覆盖了——改对值、看对位置,立刻就能恢复。
为什么改了 settings.json 还不显示行号
常见原因就三个,VSCode 不报错,只会静默忽略:
-
editor.lineNumbers的值写成了true、"true"、1或漏掉引号——它只认"on"、"off"、"relative"、"interval"这四个字符串 - 工作区配置(
.vscode/settings.json)覆盖了用户设置;打开命令面板(Ctrl + Shift + P),执行Preferences: Open Workspace Settings (JSON),检查有没有冲突的editor.lineNumbers字段 - 字段名拼错,比如写成
editor.lineNumber(少个s)或line_numbers(VSCode 不支持下划线命名)
怎么快速开关或切换行号模式
最稳的操作是快捷键进设置:按 Ctrl + ,(Windows/Linux)或 Cmd + ,(macOS),在搜索框输入 line numbers,找到 Editor: Line Numbers 项,从下拉菜单选 on、relative、off 或 interval 即可。改完立即生效,不用关文件、不用重载窗口。
临时开关当前编辑器的行号(不保存):右键编辑器左侧空白区域 → 点击 Toggle Line Numbers。
relative 模式现在怎么配才有效
注意:"editor.lineNumbers": "relative" 是旧写法,VSCode 官方已弃用。纯 VSCode 环境下正确做法是:
- 保持
editor.lineNumbers为"on"(或"interval") - 额外启用
editor.relativeLineNumbers(布尔值,设为true) - 二者叠加后,左侧同时显示绝对行号 + 相对偏移(需主题支持,如默认
Dark+可以,GitHub Dark v1.x不支持)
别同时写 "editor.lineNumbers": "relative" 和 "editor.relativeLineNumbers": true——混用可能引发冲突。
缩进参考线为什么开了却看不见
你可能还在用已弃用的 editor.renderIndentGuides。VSCode 1.85+ 已标记为 deprecated,真正生效的是 editor.guides.indentation:
- 必须用
"editor.guides.indentation": true(值也可以是"active") - 即使配对了,很多主题(如
One Dark Pro、Nord)没定义editorIndentGuide.background这个 color token,结果线画出来了但颜色透明 - 最快验证方式:临时切到
Default Dark+主题,如果线立刻出现,就是主题问题 - 要让它真正看得见,得加颜色定制:
"workbench.colorCustomizations"里填"editorIndentGuide.background": "#404040"和"editorIndentGuide.activeBackground": "#606060"
相对行号“跳变”不是 bug,是设计行为;缩进线颜色失效也不报错——这类静默失效,最容易被当成“功能坏了”,其实只是配置没对上。











