SublimeText 3 - 没有任何方法可以强制缩进为4个空格

4

问题:

  • 无法在文档中设置/更改制表符缩进

尝试过的方法:

  • 打开文档:>缩进 >制表符宽度:4
  • 打开文档:>缩进 >将缩进转换为空格
  • 将以下内容添加到用户设置中:

    "smart_indent": true, "tab_size": 4, "translate_tabs_to_spaces": true, "trim_automatic_white_space": true, "trim_trailing_white_space_on_save": true, "use_tab_stops": true, "word_wrap": false

  • 将以下内容添加到PHP专用偏好设置中:

    "tab_size": 4, "translate_tabs_to_spaces": true


问题:

  1. 从菜单更改空格是否看起来很奇怪?SublimeText 显示制表符缩进为 4 个空格,但实际上不是。
  2. 有人知道如何强制 SublimeText 将制表符缩进应用于文档或项目吗?

更新:

  • 看起来 ST3 并没有将一些空格识别为缩进,而是认为它们只是空格 - 请参见下面的图片

Spaces not recognised as indentation

  • 上面的图像是将空格转换为制表符的结果(与我想要的相反),以查看 ST3 认为什么是缩进
  • 除了逐行更改每个文档中的空格,有人知道如何解决这个问题吗?

相同的问题,一旦你点击“将缩进转换为空格”,它就能够完成任务,但是一旦我保存后,它又回到了制表符。这是一个bug。 - Gucho Ca
2个回答

6
该列表中唯一一个能够主动更改当前文件所有缩进的命令是“>缩进>将缩进转换为空格”。其他设置只会在“从此刻开始”生效(即现有缩进将保留制表符,而新创建的会成为空格)。另外,请确保您在选择“使用空格进行缩进”和“选项卡宽度4”之后再运行该命令。
您能否检查一下在运行“将缩进转换为空格”并启用“draw_white_space:all”的情况下,缩进是否显示为半透明点?插入符号导航仍会“跳过”这4个空格。
我能想到的唯一其他可能是它某种方式上被设置为只读文件。
由于我的声望少于50,因此无法发表评论。

非常感谢您的回复,Azriel。我可以确认Convert Indentation to Spaces"draw_white_space": "all"会导致看到半透明的点,但尽管所有打开的文档都声明使用4个空格,它们实际上并没有。所有新建的文档都使用4个空格,但由于某种原因,现有的文档却没有 - 这非常奇怪。 - CMSCSS
有人知道发生了什么吗?似乎Sublime Text认为制表符空格设置为4(我在打开的文档底部看到“Spaces 4”),但实际上是2个空格。如果我将缩进转换为空格,然后选择4个空格,什么都不会改变 - 这一切非常奇怪。 - CMSCSS
已卸载ST3及相关支持文件并重新安装,但仍然没有改变。 - CMSCSS
当我尝试将空格转换为制表符作为测试(与我想要的相反)时,有些空格没有被转换为制表符 - 就好像ST3无法识别两个空格作为缩进,并认为它们只是空格 - 这可能吗? - CMSCSS

1

一个典型的Sublime Text窗口视图 窗口底部有一个状态栏,如果看不到,请转到“查看”>“显示状态栏”。 在最右边,您将看到当前文件的语言,这里是python。 之后,它会向您显示是否使用制表符或空格以及使用了多少个。单击它,您将得到 来自状态栏第二个最右侧的缩进菜单

引用自 https://css-tricks.com/changing-spaces-tabs-sublime-text/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接