"editor.insertSpaces" 和 "editor.tabSize" 在设置上有什么区别?

What's the difference between "editor.insertSpaces" and "editor.tabSize" in settings?

它们有何不同的解释?只能看到"editor.tabSize"是干什么的,就是一个tab占的空格数

谢谢。

editor.insertSpaces: 控制编辑器是否为制表符插入空格。接受的值:"auto"、true、false。如果设置为"auto",打开文件时将猜测该值。

editor.tabSize: 控制字符中选项卡的呈现大小。可接受的值:"auto"、2、4、6 等。如果设置为"auto",则在打开文件时会猜测该值。

来自配置文件:

{
  // Controls the rendering size of tabs in characters. 
  // If set to auto, the value will be guessed based on the opened file.
  "editor.tabSize": 4,

  // Controls if the editor will insert spaces for tabs. 
  // If set to auto, the value will be guessed based on the opened file.
  "editor.insertSpaces": true
}

可以看到editor.tabSize设置了输入tab时占用space的大小。而 editor.insertSpaces 配置文件中存储的密钥代码。

如果 editor.insertSpaces 等于 false,则 Visual Studio 代码将为每个 tab 插入一个 #09 字符。当您更改 editor.tabSize 时,您现有的代码 更改所有行中的缩进,并存储一个 #09 字符。

如果 editor.insertSpaces 等于 true,则 Visual Studio 代码将为每个 tab 插入 space 个字符,而不是 #09 个字符。插入量spaces配置在editor.tabSize。当您更改 editor.tabSize 时,您现有的代码 不会 更改缩进,因为文件中没有存储 #09 字符。 editor.tabSize.

的新值只会影响新的 tab 笔划

如果您和其他团队成员仅使用 tab 进行缩进,那么将editor.insertSpaces 设置为false 是没有问题的。 如果您和其他团队成员使用 space tab 进行缩进,那么您应该将 editor.insertSpaces 设置为 true。否则,当有人打开具有不同 editor.insertSpaces 值的文件时,您的文件可能看起来很尴尬。