在 Visual Studio Code 中保存时避免自动缩进
Posted
技术标签:
【中文标题】在 Visual Studio Code 中保存时避免自动缩进【英文标题】:Avoid auto indent when saving in Visual Studio Code 【发布时间】:2020-05-10 11:42:11 【问题描述】:我想在 Visual Studio Code 中保存(javascript)文件时避免自动缩进行为,而不关闭完整的自动缩进。
我有这个代码(如果可能的话,我想保留这个缩进):
const $tab_a = $('tab_a')
const $tab_b = $('tab_b')
;[$tab_a, $tab_b].forEach($e => $e.onclick = () =>
if ($e.className) return
$tab_a.classList.toggle('active')
$tab_b.classList.toggle('active')
)
但是,每次我使用 Visual Studio Code 保存时,它都会像这样更改缩进:
const $tab_a = $('tab_a')
const $tab_b = $('tab_b')
;[$tab_a, $tab_b].forEach($e => $e.onclick = () =>
if ($e.className) return
$tab_a.classList.toggle('active')
$tab_b.classList.toggle('active')
)
我在 Visual Studio Code 中尝试了不同的设置:
-
编辑器:自动缩进(默认:完整)-> 无
编辑器:包装缩进(默认:相同)-> 无
所有组合并重启 VSCode
不幸的是,他们中的任何一个都为我工作。
任何帮助将不胜感激。
注意:我没有使用扩展程序。
【问题讨论】:
或者只是将;
放在它们所属的位置。 ;-)
似乎是默认格式化程序中的一个错误,但可能值得报告(甚至可能尝试修复并进行 PR)。您不必为了避免错误地格式化您的代码而关闭 format-on-save。 (即使我也更喜欢将半成品放在语法所期望的地方,而不是只放在 ASI 无法正常工作的地方,尤其是出于这样的原因......)
【参考方案1】:
在保存时关闭格式化:
-
转到文件|首选项 > 设置
在搜索框中输入“保存”
在列表中,选择文本编辑器|格式化
取消勾选编辑器:保存时格式化
这会将"editor.formatOnSave"
设置为false
中的false
。
当我这样做时,当我保存文件时,你的示例就没有了。 (而在设置打开的情况下,当我保存它时,它会按照您在问题中的描述重新格式化。)
【讨论】:
【参考方案2】:检查 setting.json(ctrl+shift+p 然后选择 'Preferences: Open Settings (Json)' ):
"editor.formatOnSave": true/flase
它应该默认设置为 false,但可能某些扩展名切换为 true,所以只需将其更改回 false。
希望对你有帮助
【讨论】:
【参考方案3】:我遇到了同样的问题,当我为 js 文件点击保存时,它缩进了 4 个空格而不是 2 个。
我找到了这个github线程File reformatting to 4 spaces for indentation on save. #28327
然后我搜索了JS-CSS-HTML Formatter extension,已经安装好了,于是我继续配置:
Press F1, enter Formatter Config, open the config file:
它将在新标签页中打开设置,您只需将选项 indent_size 从 4 调整为 2
【讨论】:
以上是关于在 Visual Studio Code 中保存时避免自动缩进的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code 保存时自动格式化的问题
当我保存文件时,为啥 Visual Studio Code 会格式化我的文件?