如何在现有文件中将制表符转换为空格,反之亦然


Answers:


185

由于修复了以下问题:https : //github.com/Microsoft/vscode/issues/1228,编辑器开箱即用地支持它。只需去:

  1. F1
  2. indentationToSpacesindentationToTabs(取决于您的需要)
  3. Enter

22
这仅转换前导空格/制表符。
奈杰尔·斯科特

13
对于步骤1,您也可以执行ctrl+shift+p
AlexG

请参阅下面的答案,以转换非前导空格/制表符。stackoverflow.com/a/51735845/263139
jrupe '18

7
没有答案将每个制表符转换为正确的VARYING数量的空格。例如,输入此文本,然后转换:第1行:“ A \ tB”。第2行:“ ABC \ tD”。
typpo

谢谢我已经迷失了2个小时,这就是我所需要的
Brian White,

52

另一种方法是单击页脚上的当前缩进(Tab / Spaces:n),这将打开您的缩进选项,您可以在其中选择要执行的操作。 在此处输入图片说明


9
这只会转换缩进的标签,而不是所有标签。
大卫

38

如果您尝试将非前导制表符转换为空格(反之亦然),则可以使用正则表达式搜索和替换。

  1. 按CTRL + H
  2. 单击.*按钮以使用正则表达式进行搜索。
  3. 要搜索选项卡,请[\t]在“查找”框中输入。
  4. 在“替换”框中输入空格,然后执行替换。

正则表达式模式下的搜索框: VSCode正则表达式搜索框的屏幕截图


21
这会将每个选项卡转换为相同数量的空格,这是不正确的。
大卫

不起作用,添加更多空间,一切都搞砸了
Emmanual

如果要将制表符分隔的数据格式转换为逗号分隔,这将非常有用。:)
繁殖

6
  1. 选择替换:CTRL-H
  2. 在“查找”框中输入“水平选项卡”:按住ATL并在键盘上键入009。
  3. 在“替换”框中输入一个或多个空格:按空格键
  4. 按Enter键开始用空格代替制表符。

1
这对我不起作用,但是我在下面发布了一个答案,针对使用正则表达式的非前导空格/制表符进行此操作。
jrupe

8
这会将每个选项卡转换为相同数量的空格,这是不正确的。
大卫
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.