VisualStudio:自动将制表符转换为空格

VisualStudio:自动将制表符转换为空格

奇怪的是谷歌并没有给出这个问题的答案:

我正在使用 Visual Studio 1.56.0(用户设置),并且想要配置一个编辑器,以便当我按下 Tab 键时输入适当数量的空格,而不是插入物理制表符。

我发现了关于该主题的一些讨论,我发现的建议包括使用以下之一:

工具->选项->文本编辑器->所有语言->选项卡

首选项 -> 源代码 -> 代码格式

编辑->高级->设置缩进->空格

这些解决方案都不起作用,因为

  • 我没有看到名为“工具”的菜单(我只有文件、编辑、选择、查看、转到、运行、终端和帮助)

  • 我在“文件”菜单下有一个“首选项”项,但它却没有名为“源代码”的条目。

  • “编辑”菜单下没有“高级”项。

对我来说,找到此类选项的合理位置是文件/首选项/文本编辑器/格式,但该部分中没有制表符->空格选项。

更新,根据 harrymc 给出的答案:

我知道 Visual Studio Code(我使用的)是与 Visual Studio 不同的文本编辑器。

有趣的是,用户和工作区设置显示的屏幕截图与我的 Visual Studio Code 显示的屏幕截图不同:在网站中,设置应该可用于“用户”或“工作区”(在那一侧的屏幕截图中可以看到两个同名的选项卡),而在我的编辑器中,设置页面仅显示“用户”。但是我不认为这与我的问题有关,因为当我在这些用户设置中选择“常用”并向下滚动时,我确实看到了一个名为编辑器:插入空格带有描述

按 T​​ab 键时插入空格

这应该正是我所寻找的选项。然而,已设置复选标记,但我的文件仍然有制表符。

我注意到在这个设置旁边我们可以找到这样的注释:当“编辑器:检测缩进”打开时,此设置将根据文件内容被覆盖。 的确,检测缩进也有一个复选标记,但我取消了复选标记。

我以为这样就可以解决问题了,但事实并非如此。重复一遍:我知道有

Detect Indentation:  unchecked
Insert Spaces:  checked

我现在创建了一个新文件,输入了一个制表符和一些其他字符,然后保存了该文件。我可以看到新文件中也有一个物理制表符。

答案1

您正在使用 Visual Studio Code 而不是 Visual Studio,这就是您发现的建议与您不相关的原因。

帖子 基本编辑:缩进 说:

VS Code 允许您控制文本缩进以及是否要使用空格或制表位。默认情况下,VS Code 会插入空格,并且每个 Tab 键使用 4 个空格。如果您想使用其他默认设置,可以修改editor.insertSpaceseditor.tabSize设置。

"editor.insertSpaces": true,
"editor.tabSize": 4,

如果未设置以下设置,则有时按下标签时无法检测到标签:

 "editor.detectIndentation": true

有关详细信息,请参阅For more information, see 用户和工作区设置

请注意,一旦这些设置发生变化,现有文件不会自动转换,因为它们只会影响将来按下的 Tab 键。

用户 megamorf 的评论:

有时 VSCode 会保留当前打开的文件的旧设置。在这种情况下,打开文件并在右下角单击Spaces并选择Convert Indentation to Spaces

相关内容