将空格转换为制表符


137

我的写作TypeScriptHTML文件,标签被转换为空格。

在我的TypeScript项目中,每个选项卡都转换为空格,我想将其关闭,并使用一个选项卡代替空格。

这是我的设置:

{
  "editor.insertSpaces": false
}

编辑1:

它似乎可以在.html文件中工作,但不能在.ts文件中工作。

Answers:


246

共有3个选项.vscode/settings.json

// The number of spaces a tab is equal to.
"editor.tabSize": 4,

// Insert spaces when pressing Tab.
"editor.insertSpaces": true,

// When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.
"editor.detectIndentation": true

editor.detectIndentation从文件中检测到它,则必须禁用它。如果没有帮助,请检查是否没有优先级更高的设置。例如,当您将其保存到用户设置时,它可能会被项目文件夹中的工作区设置覆盖。

更新:

您可以打开文件 » 首选项 » 设置或使用快捷方式:

CTRL+ , (Windows,Linux)

+ , (Mac)

更新:

现在,您可以选择手动编辑这些选项。
单击编辑器右下方的选择器Spaces:4
Ln44,上校。 [空格:4]。 具有BOM的UTF-8。 CTRLF。 HTML。 :)

如果要将现有的ws转换为tab,请从Marketplace安装扩展
编辑:
从空间到标签转换现有的压痕命中Ctrl+ Shift+P和类型:

>Convert indentation to Tabs

这将根据定义的选项卡更改文档的缩进。


1
@Viragos settings.json
v-andrew

1
如何为工作空间中的所有文件运行此命令。
Vijender Kumar

133

要更改选项卡设置,请在vscode窗口右下方的状态栏中单击Ln / Col文本右侧的文本区域。

名称可以是Tab SizeSpaces

将会弹出一个菜单,其中包含所有可用的操作和设置。

在此处输入图片说明


3
对我来说,这只会更改我当前正在查看的特定文件的这些设置。项目中的其他文件保留其旧设置。您将如何设置它?
凯尔·瓦塞拉

通常,如果需要,我通常一次替换所有文件,方法是进行项目搜索以查找简单的regex`{4}`并替换为\ t(用于制表符)。通常,还可以浏览一下匹配项,以确保不会像多行字符串文字一样中断任何内容。显然,请应用这些设置,以便新的缩进也是所需的字符!
哥萨克人


13

如果要使用制表符而不是空格

试试这个:

  1. 转到FilePreferencesSettings或者按Ctrl + ,
  2. 在顶部的搜索设置栏中editor.insertSpaces
  3. 您将看到类似以下内容的内容:编辑器:插入空格,可能会选中它。只需取消选中它,如下图所示

编辑器:插入空格

  1. 重新加载Visual Studio代码(按F1➤类型reload window➤按Enter

如果不起作用,请尝试以下操作:

可能是因为安装了JS-CSS-HTML Formatter插件

(您可以将检查FilePreferencesExtensions或只需按下Ctrl + Shift + X,在启用名单,你会发现JS-CSS-HTML格式化

如果是这样,您可以修改此插件:

  1. 按下F1➤类型Formatter config➤按下Enter(它将打开文件formatter.json
  2. 像这样修改文件:
 4|    "indent_size": 1,
 5|    "indent_char": "\t"
——|
24|    "indent_size": 1,
25|    "indentCharacter": "\t",
26|    "indent_char": "\t",
——|
34|    "indent_size": 1,
35|    "indent_char": "\t",
36|    "indent_character": "\t"
  1. 保存(转到FileSave或按Ctrl + S
  2. 重新加载Visual Studio代码(按F1➤类型reload window➤按Enter

如果要用空格代替制表符,请修改formatter.json文件:在任何引号中都用一个空格而不是\t(使"\t"成为" "),然后在您看到1的地方放4。因此,您可能会像这样 "indent_size": 4, "indent_char": " " "indent_size": 4, "indentCharacter": " ", "indent_char": " ", "indent_size": 4, "indent_char": " ", "indent_character": " "
Alex Logvin

1
RELOAD WINDOW步骤是我所缺少的。当我要做的就是重新加载窗口时,沮丧的经历了检查复选框和摆弄设置3次的过程,而无需进行任何更改。谢谢你的提示!
Rin和Len

8

就我而言,问题是在一月更新后安装了JS-CSS-HTML Formatter扩展。默认indent_char属性是空格。我卸载了它,奇怪的行为停止了。


哦,是的,这是我的实际问题。花很多时间修改VS代码中的设置。最后禁用此扩展程序解决了该问题。
阿维耶特(Avijeet)'17年

8

从官方vscode设置中检查以下内容:

// Controls whether `editor.tabSize#` and `#editor.insertSpaces` will be automatically detected when a file is opened based on the file contents.
"editor.detectIndentation": true,

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

// Config the editor that making the "space" instead of "tab"
"editor.insertSpaces": true,

// Configure editor settings to be overridden for [html] language.
"[html]": {
    "editor.insertSpaces": true,
    "editor.tabSize": 2,
    "editor.autoIndent": false
}

7

以下设置对我来说效果很好,

"editor.insertSpaces": false,
"editor.formatOnSave": true, // only if you want auto fomattting on saving the file
"editor.detectIndentation": false

以上设置将反映并应用于每个文件。您无需手动缩进/格式化每个文件。


3

文件 -> 首选项 -> 设置,或者按Ctrl+ ,搜索空格,然后停用此选项:

在此处输入图片说明

我不得不重新打开文件,以便更改生效。


1
  1. 突出显示您的代码(在文件中)
  2. 单击应用程序窗口右下角的“标签大小” 应用程序窗口图像右下角的选项卡大小
  3. 选择适当的将缩进转换为制表符 选择适当的将缩进转换为选项卡图像

1

如果您想将选项卡更改为许多文件中的空格,但又不想单独打开它们,我发现仅使用最左侧工具栏中的“ 查找并替换”选项同样可以正常工作。

在第一个框(Find)中,复制并粘贴源代码中的选项卡。

在第二个方框(Replace)中,输入要使用的空格数(即2或4)。

如果按下...按钮,则可以指定要包含或忽略的目录(即src/Data/Json)。

最后,检查结果预览,然后按全部替换。工作区中的所有文件可能会受到影响。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.