Существует более одной настройки вкладки
Каждый пакет (например, python-language) имеет свои настройки на вкладке. Использует ли язык глобальное значение по умолчанию или собственное значение по умолчанию, зависит от того, кто создал пакет, но обычно вы можете переопределить его.
На вашем снимке экрана вы установили «Тип вкладки» на «мягкий». Это позаботится об использовании пробелов, а не вкладок. Вы оставили ширину вкладки по умолчанию, равную 2. Это ваша глобальная настройка.
Теперь, если вы посмотрите в разделе «Пакеты» и выполните поиск «python», вы найдете пакет с именем «language-python». Нажмите на кнопку его настроек, и вы найдете ряд настроек, специфичных для синтаксиса.
- Грамматика Python
- Грамматика консоли Python
- Грамматика обратной трассировки Python
- Регулярные выражения (Python) Грамматика
Каждая из этих грамматик имеет собственную настройку длины табуляции. Здесь вы можете явно установить для них значение 2, чтобы переопределить значение пакета по умолчанию. (Возможно, вас больше всего волнует первый из них, Python Grammar.)
Питон отличается
В случае с Python пакет явно настроен на использование по умолчанию 4 пробелов, вероятно, потому, что Python очень требователен к пробелам, и PEP 8 рекомендует отступы в 4 пробела. Вы можете увидеть настройку пакета по умолчанию здесь, в источнике пакета:
https://github.com/atom/language-python/blob/master/settings/language-python.cson
'autoIndentOnPaste': false
'softTabs': true
'tabLength': 4
Это переопределяет глобальное значение по умолчанию. Вот почему Python Grammar не учитывает ширину глобальной вкладки, как это делает большинство пакетов.
Иногда бывают переопределения пакетов
Кроме того, некоторые пакеты переопределяют ваши настройки по причинам синтаксиса. Например, language-make переопределит и будет использовать настоящие табуляции вместо пробелов, потому что это требуется делать.
В случае с Python существует переопределение использования пробелов. На странице настроек language-python
есть место для изменения уровня отступа, но нет возможности переключиться на использование символов табуляции. (Это, вероятно, оправдано, поскольку символы табуляции и смешанные отступы в Python являются очень распространенной причиной трудно отлаживаемых синтаксических ошибок.)
Возможно, вам придется перезагрузить
Наконец, иногда настройки не вступают в силу полностью, пока вы не перезагрузите окно Atom. Для этого вы можете использовать команду Window: Reload
. Или с помощью клавиатуры:
- Mac: CtrlОпцCmdL
- Windows/Linux: CtrlAltR
person
Dan Lowe
schedule
07.02.2017