Visual Studio Code - 将空格转换为制表符
Posted
技术标签:
【中文标题】Visual Studio Code - 将空格转换为制表符【英文标题】:Visual Studio Code - Convert spaces to tabs 【发布时间】:2016-08-17 07:31:22 【问题描述】:我的项目中有 TypeScript 和 html 文件,两个文件中的选项卡都转换为空格。
我想关闭自动转换并确保我的项目只有标签。
编辑:
使用此设置,它似乎适用于 HTML 文件,但不适用于 TypeScript 文件。
"editor.insertSpaces": false
【问题讨论】:
为什么 IDE 默认将制表符转换为空格,这超出了我的理解。如果我想要空格,我会为每个缩进点按空格键 4 次……就像野人一样。 【参考方案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】:-
突出显示您的代码(在文件中)
单击应用程序窗口右下角的 Tab Size
选择适当的将缩进转换为制表符
【讨论】:
【参考方案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】:
如果你想使用制表符而不是空格
试试这个:
-
转到
File
➤ Preferences
➤ Settings
或直接按 Ctrl + ,
在顶部的搜索设置栏中插入editor.insertSpaces
您会看到类似这样的内容:Editor: Insert Spaces,并且可能会被选中。只需取消选中它,如下图所示
- 重新加载 Visual Studio 代码(按
F1
➤ 输入 reload window
➤ 按 Enter)
如果它不起作用,试试这个:
可能是因为安装了插件JS-CSS-HTML Formatter
(您可以前往 File
➤ Preferences
➤ Extensions
或直接按 Ctrl + Shift + X,在Enabled列表中你会发现JS-CSS-HTML Formatter)
如果是这样你可以修改这个插件:
-
按 F1 ➤ 输入
Formatter config
➤ 按 Enter(它将打开文件 formatter.json
)
像这样修改文件:
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"
-
保存(转到
File
➤ Save
或直接按 Ctrl + S)
重新加载 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 Size
或Spaces
。
将弹出一个菜单,其中包含所有可用的操作和设置。
【讨论】:
对我来说,这只会更改我当前正在查看的特定文件的这些设置。项目中的其他文件保留其旧设置。你会如何设置它? 如果需要,我通常会一次替换所有文件,方法是在项目中搜索简单的正则表达式 `4` 并替换为 \t(用于制表符)。通常还要浏览匹配项,以确保不会像多行字符串文字等那样破坏任何内容。显然应用这些设置,以便您的新缩进也是所需的字符!以上是关于Visual Studio Code - 将空格转换为制表符的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript – Visual Studio Code – 编译后不输出 2 个空格选项卡
windows通过Visual Studio Code中配置GO开发环境(转)
在 Visual Studio Code 中设置 Cobol 制表符/缩进