【问题标题】:Visual Studio Code - Convert spaces to tabsVisual Studio Code - 将空格转换为制表符
【发布时间】:2016-08-17 07:31:22
【问题描述】:

我的项目中有 TypeScript 和 HTML 文件,两个文件中的选项卡都转换为空格。

我想关闭自动转换并确保我的项目只有标签。

编辑:

使用此设置,它似乎适用于 HTML 文件,但不适用于 TypeScript 文件。

{
  "editor.insertSpaces": false
}

【问题讨论】:

  • 为什么 IDE 默认将制表符转换为空格,这超出了我的理解。如果我想要空格,我会为每个缩进点按空格键 4 次……就像野人一样。

标签: visual-studio-code tabs spaces


【解决方案1】:

如果您使用的是.sass 文件,请将其设置为false,它会给您Expected tabs, was spaces 错误:

"editor.detectIndentation": false

...然后选择您的代码块并按tab 键将其缩进,然后按shift + tab 键将其缩进。

【讨论】:

    【解决方案2】:

    如果您想将大量文件中的制表符更改为空格,但又不想单独打开它们,我发现仅使用 查找和替换 也同样有效最左侧工具栏中的选项。

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

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

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

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

    【讨论】:

      【解决方案3】:
      {
        "editor.insertSpaces": true
      }
      

      True 为我工作。

      【讨论】:

        【解决方案4】:
        1. 突出显示您的代码(在文件中)
        2. 单击应用程序窗口右下角的 Tab Size
        3. 选择适当的将缩进转换为制表符

        【讨论】:

          【解决方案5】:

          从官方 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
          }
          

          【讨论】:

            【解决方案6】:

            File -> Preferences -> Settings 或者直接按 Ctrl + , 并搜索 空格,然后停用此选项:

            我必须重新打开文件才能使更改生效。

            【讨论】:

              【解决方案7】:

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

              【讨论】:

              • 哦,是的,这对我来说是真正的问题。花大量时间修补 VS 代码中的设置。终于禁用这个扩展解决了这个问题。
              【解决方案8】:

              .vscode/settings.json中有3个选项:

              // 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

              如果要将现有的 ws 转换为选项卡,请从 Marketplace 安装扩展程序
              编辑:
              要将现有缩进从空格转换为制表符,请点击 Ctrl+Shift +P 并输入:

              >Convert indentation to Tabs
              

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

              【讨论】:

              • 如何对工作区中的所有文件运行此命令。
              • 如何在 VSCode 中为我的所有文件和项目永久使用>Convert indentation to Tabs
              • @FäridAlijani, @ VijenderKumar 我认为使用 VS Code 是不可能的
              【解决方案9】:

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

              试试这个:

              1. 转到 FilePreferencesSettings 或直接按 Ctrl + ,
              2. 在顶部的搜索设置栏中插入editor.insertSpaces
              3. 您会看到类似这样的内容:Editor: Insert Spaces,并且可能会被选中。只需取消选中它,如下图所示

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

              如果它不起作用,试试这个:

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

              (您可以前往 FilePreferencesExtensions 或直接按 Ctrl + Shift + X,在Enabled列表中你会发现JS-CSS-HTML Formatter

              如果是这样你可以修改这个插件:

              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"变成" " ),然后将 4 放在您看到 1 的位置。所以你来可能是这样的"indent_size": 4, "indent_char": " " "indent_size": 4, "indentCharacter": " ", "indent_char": " ", "indent_size": 4, "indent_char": " ", "indent_character": " "
              • RELOAD WINDOW 步骤是我所缺少的。令人沮丧的是,我已经完成了 3 次检查框和摆弄设置的过程而没有进行任何更改,而我所要做的就是重新加载窗口。感谢您的提示!
              【解决方案10】:

              Ctrl+Shift+P,然后“将缩进转换为制表符”

              【讨论】:

              • 是否可以为选择而不是整个文件执行此操作?
              • 是否可以为整个 repo 而不仅仅是一个文件执行此操作?
              • @dbrane 是的。如果您突出显示文件中的代码块,则转换仅适用于所选内容。顺便说一句,在 Mac 上,组合键是 ⌥ + P(alt/option + P)。
              【解决方案11】:

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

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

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

              【讨论】:

                【解决方案12】:

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

                名称可以是Tab SizeSpaces

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

                【讨论】:

                • 对我来说,这只会更改我当前正在查看的特定文件的这些设置。项目中的其他文件保留其旧设置。你会如何设置它?
                • 如果需要,我通常会一次替换所有文件,方法是在项目中搜索简单的正则表达式 `{4}` 并替换为 \t(用于制表符)。通常还要浏览匹配项,以确保不会像多行字符串文字等那样破坏任何内容。显然应用这些设置,以便您的新缩进也是所需的字符!
                猜你喜欢
                • 2017-07-01
                • 2018-05-11
                • 1970-01-01
                • 2017-06-17
                • 1970-01-01
                • 2013-12-12
                • 2014-09-18
                • 2010-10-02
                • 2014-04-27
                相关资源
                最近更新 更多