协慌网

登录 贡献 社区

如何自定义制表符到空间的转换因子?

使用 Visual Studio Code 时如何自定义制表符到空间的转换因子?

例如,现在在 HTML 中,按一下TAB似乎会产生两个空格,而在 TypeScript 中会产生 4 个空格。

答案

默认情况下,Visual Studio Code 将尝试根据您打开的文件来猜测您的缩进选项。

您可以通过"editor.detectIndentation": false关闭缩进猜测。

您可以通过以下三种设置轻松自定义此设置: Windows菜单中的文件首选项用户设置 ,以及Mac菜单中的代码首选项设置⌘,

// The number of spaces a tab is equal to. This setting is overridden
// based on the file contents when `editor.detectIndentation` is true.
"editor.tabSize": 4,

// Insert spaces when pressing Tab. This setting is overriden
// based on the file contents when `editor.detectIndentation` is true.
"editor.insertSpaces": true,

// When opening a file, `editor.tabSize` and `editor.insertSpaces`
// will be detected based on the file contents. Set to false to keep
// the values you've explicitly set, above.
"editor.detectIndentation": false

我正在运行 1.21 版,但我认为这也可能适用于早期版本。

看一下屏幕的右下角。您应该看到显示SpacesTab-Size

我的显示空间,→

在此处输入图片说明

  1. 单击空格 (或Tab 大小
  2. 选择缩进使用空格缩进使用制表符
  3. 选择所需的空格或制表符数量。

这仅适用于每个文档,不适用于整个项目。如果要在整个项目中应用它,则还需要在用户设置中添加"editor.detectIndentation": false

好吧,如果您喜欢开发人员的方式,Visual Studio Code 允许您为tabSize指定不同的文件类型。这是我的settings.json的示例,默认包含四个空格,JavaScript / JSON 两个空格:

{
  // I want my default to be 4, but JavaScript/JSON to be 2
  "editor.tabSize": 4,
  "[javascript]": {
    "editor.tabSize": 2
  },
  "[json]": {
    "editor.tabSize": 2
  },

  // This one forces the tab to be **space**
  "editor.insertSpaces": true
}

PS:好吧,如果您不知道如何打开此文件(特别是在 Visual Studio Code 的新版本中),则可以:

  1. 左下齿轮→
  2. 设置→右上方打开设置

在此处输入图片说明