折叠图标不显示或需隐藏,先检查 editor.showfoldingcontrols 是否设为 "never";其值可选 "always"、"mouseover"(默认)、"never"(彻底隐藏);修改 settings.json 即生效,但可能被工作区或语言特定设置覆盖。

折叠控件图标不显示或想彻底隐藏?先确认是不是被设成了"never"
VSCode 默认会在行号右侧显示折叠箭头(▶/▼),但这个行为受 editor.showFoldingControls 控制。如果图标突然不见了,大概率是它被设成了 "never";如果你是想“关闭”它(即让箭头完全不出现),那其实就是要设成这个值。
别去点右下角状态栏的折叠按钮——那只是临时切换当前文件的展开/折叠状态,不影响图标显示逻辑。
-
"always":始终显示,哪怕光标不在可折叠区域旁(最稳妥,推荐调试时用) -
"mouseover":只在鼠标悬停到行号区时浮现(默认值,省空间但容易找不到) -
"never":彻底不渲染折叠图标,连 hover 都没反应(真·关闭)
改法很简单:打开 settings.json,加这一行:
"editor.showFoldingControls": "never"
改完不用重启,编辑器会立刻移除所有行号旁的折叠箭头。注意:这不会影响快捷键(如 Ctrl+Shift+[)或命令面板里的折叠操作,只是 UI 上“看不见入口”了。
为什么设了 "never" 还有箭头?检查工作区设置和语言特定配置
用户设置(User Settings)会被工作区设置(.vscode/settings.json)覆盖,而语言特定设置(如 "[python]": { "editor.showFoldingControls": "always" })优先级更高。所以即使全局关了,某个项目里仍可能显示箭头。
- 打开命令面板(
Ctrl+Shift+P),输入Preferences: Open Workspace Settings (JSON),检查有没有重复定义 - 搜一下
"[,看是否存在语言专属配置覆盖了全局值 - 右下角点击语言标识(如 “Python”),确认当前文件 mode 正确——如果是 “Plain Text”,折叠功能本身就不启用,图标自然也不会出现
禁用折叠图标 ≠ 禁用折叠功能,但有些插件会绕过这个设置
editor.showFoldingControls 只控制原生折叠控件的显示,不影响底层折叠能力。不过要注意:
- 某些主题(尤其是高对比度或精简类)会重写折叠图标的 CSS,导致
"never"失效——这时得查主题源码或换主题 - 像
Auto Fold或Fold Plus这类扩展可能自己注入折叠 UI,它们不受该配置约束 - 如果你同时关了
editor.folding(设为false),那图标当然也没了,但整个折叠功能都废了,不推荐
真正想“隐藏但保留快捷键”?用 "mouseover" + 关掉缩进指南更干净
很多人说“关图标”其实是嫌视觉干扰大。比起设 "never",更实用的做法是保持 "mouseover",再顺手关掉缩进线(editor.renderIndentGuides 设为 false)。因为缩进线和折叠箭头共享同一列空白区,两者叠加会让行号区显得拥挤。
另外,editor.foldingStrategy 设为 "indent" 或 "auto" 不会影响图标显示,但若设为 "manual",折叠能力受限,图标也可能变灰或失效——这不是 bug,是设计使然:手动模式下只响应 #region,没有语法结构就无处可折。
最终效果是否干净,关键不在“关不关图标”,而在于你是否清楚哪些配置项在互相打架——比如一个设 "never",另一个插件又强行画了个 SVG 图标出来,那就永远关不掉。











