Sublime Text缩进设置被文件覆盖

7

我正在一个需要标签大小为 4 且不使用空格的项目上工作。我更新了我的 Preferences.sublime-settings 文件,以包括以下内容:

"detect_indentation": "false",
"tab_size": 4,
"translate_tabs_to_spaces": false,

当我打开一个新文件时,这些设置按照我的要求设置,一切都很正常。但是,如果我打开一个已有的文件(scss或html)并且缩进为2个空格,我的Sublime设置就会被覆盖,并且缩进将更改为2个空格。如果我单击“View> Indentation”,我会看到Tab Size设置为2并启用Indent Using Spaces,尽管我的偏好应该相反。
如果我手动通过“View> Indentation”更改缩进方式为Tab Width:4并取消选择Indent Using Spaces,这样可以工作,直到我保存文件时,这些设置就会恢复为Tab Width 2和Indent Using Spaces。
我该如何强制Sublime Text遵守我的缩进偏好并且不会被其他文件覆盖?我认为Sublime检测页面上的缩进,但我已经关闭了这个设置。
以下是显示事情应该正常工作的我的偏好文件:
以下是scss文件的混乱设置。 我所做的就是打开它:
我不认为任何插件会导致此问题,因为我禁用了大多数插件并仍然遇到此问题。 不过,为了参考,以下是我安装的所有软件包的列表:
感谢您提前帮助。
2个回答

7

我完全卸载了Sublime Text及其所有相关的软件包和设置,然后重新安装该应用程序,并逐个重新安装我的软件包,这样我就想出了。结果发现我的一个软件包EditorConfig覆盖了我的Sublime Text样式设置。

EditorConfig实际上是一个非常酷的插件,它允许多个开发人员在多个IDE上共同开展项目工作,并定义缩进类型、大小、字符集和其他设置,从而实现风格的一致性。

问题的答案是,在我正在处理的特定项目目录中,我下载的一些node模块具有缩进设置为2个空格而不是制表符的.editorconfig文件,我必须在Sublime Text中卸载EditorConfig包或在我的项目根目录中创建一个新的.editorConfig文件。这是我创建的.editorConfig文件,解决了我的问题。

# top-most EditorConfig file
root = true

# 4 Tab Indentation
indent_style = tab
indent_size = 4

1
谢谢分享!这让我疯掉了。 - Georg
1
@jasonleibowitz,你应该回来并点击该答案上的勾选标记以显示你的问题已解决。 - Patrick M

2
当文件被加载时,会检查其内容,并为该文件设置“tab_size”和“translate_tabs_to_spaces”设置。状态区将在此发生时报告。虽然这通常很有效,但您可能希望禁用它。您可以使用“detect_indentation”设置来实现这一点。
这可能会有所帮助:https://www.sublimetext.com/docs/2/indentation.html

感谢您的评论。实际上,我已经将我的用户设置中的“detect_indentation”设置为false。这是我当前在Preferences.sublime-settings文件中的缩进设置:`"detect_indentation": "false", "tab_size": 4, "translate_tabs_to_spaces": false,`即使如此,我仍然遇到了错误。 - jasonleibowitz
"detect_indention": "false" 更改为 "detect_indention":false - BarzinM
Barzin,我的错。"detect_indentation"的值已经是布尔型,不是字符串。它是false,不是"false"。 - jasonleibowitz
在你添加的第一张图片中,最后一行似乎需要移除引号。我不确定这是否有帮助,但值得尝试。 - BarzinM
所以我进行了更改,并将word_wrap的值也更改为布尔值,但这并没有产生任何影响... - jasonleibowitz

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