在 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 取消保存时自动格式化

Visual Studio Code 取消保存时自动格式化

当我保存文件时,为啥 Visual Studio Code 会格式化我的文件?

更改 Visual Studio Code 中的默认打开和保存位置?

当我保存文件时,为什么Visual Studio Code会格式化我的文件?