如何阻止VS Code自动取消LaTeX项目缩进并实现自动缩进?
VS Code LaTeX Workshop缩进问题解决方案
方法1:直接关闭保存时自动格式化
适合不需要自动缩进功能的场景,操作后不会再出现保存时删除手动缩进的问题:
- 打开VS Code设置界面,搜索
latex-workshop.formatting.provider,将选项值改为none - 也可以直接编辑用户
settings.json,添加一行配置:"latex-workshop.formatting.provider": "none"
方法2:配置缩进规则,同时满足「保留手动缩进」「新环境自动缩进」需求
该问题本质是LaTeX Workshop默认调用的latexindent工具的默认规则不符合使用习惯,通过自定义配置即可实现你需要的效果:
- 在你的LaTeX项目根目录新建名为
.latexindent.yaml的文件,写入以下配置:
# 保留用户手动设置的缩进,不强制重置 preserveIndent: 1 removeTrailingWhitespace: 0 # 设置默认缩进长度,可按习惯修改为" "表示4空格 defaultIndent: " " # 配置各类环境的自动缩进规则 environments: defaultIndent: " " # 列表环境自动缩进 indentAfterItems: itemize: 1 enumerate: 1 description: 1
- 保存配置文件后重启LaTeX Workshop插件即可生效,后续保存时不会删除原有手动缩进,同时新建
\begin{}环境时会自动对内部内容添加缩进。 - 如果需要全局生效不用每个项目单独配置,可以将上述配置文件放到操作系统当前用户的根目录下,命名为
latexindent.yaml即可。
临时跳过格式化方案
如果只是某次保存不想触发自动格式化,可以使用快捷键:
- Windows/Linux:按
Ctrl + K后再按Ctrl + Shift + S,选择「不格式化保存」 - Mac:按
Cmd + K后再按Cmd + Shift + S,选择「不格式化保存」
内容的提问来源于stack exchange,提问作者JerJer
相关产品推荐
相关产品推荐

