原子 - 力标签宽度2

Men*_*cus 9 tab-size atom-editor

我刚刚从Sublime Text切换到Atom,以便完全开源.

我有一些非常简单的问题:我希望Atom使用always(!)并且在任何情况下使用tab宽度2并用空格替换tab.这个设置在gedit或Sublime Text中非常简单,但无论我在尝试什么:当我开始一个新文件时,标签大小为2(好!).当我使用现有文件时,标签大小有时为4.我发现有点烦人.

我在编辑器中的当前设置可以在屏幕截图中看到:

在此输入图像描述

Dan*_*owe 9

有多个标签设置

每个包(例如python-language)都有自己的选项卡设置.语言是使用全局默认值还是自己的默认值取决于创建包的人,但通常可以覆盖它.

在屏幕截图中,您已将"标签类型"设置为"软".这将照顾使用空格而不是标签.您已将默认选项卡宽度保留为2.这是您的全局设置.

现在,如果你查看"Packages"并搜索"python",你会发现一个名为"language-python"的包.单击其设置按钮,您将找到许多特定于语法的设置.

  • Python语法
  • Python控制台语法
  • Python Traceback Grammar
  • 正则表达式(Python)语法

每个语法都有自己的Tab Length设置.您可以在此处将它们显式设置为2以覆盖包的默认值.(你可能最关心的是第一个,Python Grammar.)

Python是不同的

在Python的情况下,包显式配置为默认为4个空格,可能是因为Python非常注重空格,PEP 8建议使用4空格缩进.您可以在包的源代码中看到默认包设置:

https://github.com/atom/language-python/blob/master/settings/language-python.cson

'autoIndentOnPaste': false
'softTabs': true
'tabLength': 4
Run Code Online (Sandbox Code Playgroud)

这将覆盖全局默认值.这就是为什么Python Grammar不尊重全局选项卡宽度,这是大多数软件包的方式.

有时会有包覆盖

此外,出于语法原因,某些程序包将覆盖您的设置.例如,language-make将覆盖并使用真正的制表符而不是空格,因为make是必需的.

在Python的情况下,有一个覆盖使用空格.该language-python设置页面提供您更改缩进级别一点,但它并没有提供一种方式来切换到使用制表符.(这可能是合理的,因为Python中的制表符和混合缩进是导致难以调试的语法错误的常见原因.)

您可能需要重新加载

最后,在重新加载Atom窗口之前,有时设置不会完全生效.您可以使用该Window: Reload命令执行此操作.或者使用键盘:

  • 苹果电脑: CtrlOptCmdL
  • 在Windows/Linux的: CtrlAltR