Sublime文本缩进设置被文件覆盖

时间:2015-02-13 17:24:18

标签: ide sublimetext sublimetext3

我正在开发一个项目,其中标签大小应该是4,标签不应该是空格。我更新了我的Preferences.sublime-settings文件以包含

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

当我打开一个新文件时,这些设置被设置为我想要的方式,一切正常。但是,如果我打开一个压缩为2个空格的现有文件(scss或html),我的Sublime设置将被覆盖,缩进变为2个空格。如果我点击查看>缩进我看到Tab Size设置为2并且启用了Indent Using Spaces,即使我的首选项应该与之相反。

如果我通过View手动更改缩进>缩进到标签宽度:4并取消选择缩进使用空格,这一直有效,直到我保存文件,此时设置恢复为标签宽度2和缩进使用空格打开。

如何强制Sublime Text遵循缩进首选项,不被其他文件覆盖。我认为Sublime正在检测页面上的缩进,但我已经关闭了该设置。

以下是我的偏好文件,显示事情应该正常工作:

preferences file

以下是scss文件的混乱设置。我所做的只是打开它:

incorrect indentation settings

我不认为任何插件会导致这种情况,我禁用了大部分插件并且仍然遇到此问题。但是,作为参考,这里是我已安装的所有软件包的列表:

  • 对齐
  • BracketHighlighter
  • Capybara Snippets
  • 的ColorPicker
  • Dotfiles语法突出显示
  • EditorConfig
  • 埃米特
  • ERB Snippets
  • 宝石浏览器
  • 主旨
  • GIT中
  • GitGutter
  • Haml的
  • 的jQuery
  • JS​​Hint
  • 包装控制
  • 漂亮的JSON
  • PyV8
  • RSpec的
  • SCSS
  • SideBarEnahancements
  • SublimeLinter
  • 终端
  • TrailingSpaces

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

所以我通过完全卸载Sublime Text和所有相关的软件包和设置来解决这个问题,然后重新安装应用程序并逐个重新安装我的软件包。事实证明我的一个软件包EditorConfig正在覆盖我的Sublime Text样式设置。

EditorConfig实际上是一个非常酷的插件,允许通过定义缩进类型,大小,字符集和其他设置,在多个IDE中处理一个项目的许多开发人员具有一致的样式。

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

# top-most EditorConfig file
root = true

# 4 Tab Indentation
indent_style = tab
indent_size = 4

答案 1 :(得分:2)

加载文件时,会检查其内容,并且" tab_size"和" translate_tabs_to_spaces"为该文件设置了设置。状态区域将在发生这种情况时进行报告。虽然这通常很有效,但您可能希望禁用它。您可以使用" detect_indentation"设置。

这可能会有所帮助:https://www.sublimetext.com/docs/2/indentation.html