Как изменить режим отступов в Atom?

Я еще не смог понять это. Кажется, что Atom использует пробелы в качестве режима отступов по умолчанию. Вместо этого я предпочитаю иметь вкладки. Sublime Text имеет встроенные функции для переключения и преобразования отступов.

Кто-нибудь узнал, как изменить режим отступов Atom?

Некоторые скриншоты из Sublime Text:

Sublime Text indentation menu openSublime text indentation menu

Ответ 1

В разделе "Настройки" > "Настройки редактора" см. "Мягкие вкладки" и "Длина вкладок".

Чтобы быстро переключить режимы отступов, вы можете использовать Ctrl-Shift-P и искать редактор: Toggle Soft Tabs.

Ответ 2

Перейдите в меню Файл → Настройки

Здесь есть 3 разных варианта.

  • Мягкие вкладки
  • Длина вкладки
  • Тип табуляции

Я провел некоторое тестирование и пришел к таким выводам о том, что каждый делает.

Мягкие вкладки. Включение этого означает, что по умолчанию будут использоваться пробелы (т.е. для новых файлов).

Длина табуляции. Как широко отображается символ табуляции или сколько пространств вставлено для вкладки, если включены мягкие вкладки.

Тип табуляции. Это определяет режим отступов для использования для существующих файлов. Если вы установите его в auto, он будет использовать существующий отступ (вкладки или пробелы). Если вы установите его на мягкое или жесткое, это заставит пробелы или вкладки независимо от существующего отступа. Лучше оставить это на авто.

Примечание: Soft = пробелы, hard = tab

Ответ 3

Добавьте это в свой ~/.atom/config.cson

editor:
    tabLength: 4

Ответ 4

OS X:

  • Перейдите к Atom -> prefrences или CMD + ,

  • Прокрутите вниз и выберите "Длина табуляции", который вы предпочитаете.

введите описание изображения здесь

Ответ 5

Вы можете попробовать зайти в "Atom> Настройки> Редактор" и установить длину вкладки 4.

enter image description here

Это для Mac. Для окон вам нужно будет найти соответствующее меню.

Ответ 6

Добавление @Manbroski ответ здесь, что сработало для меня:

попробуйте Ctrl-Shift-P Editor: Toggle Soft Tabs

Ответ 7

Позднее, но чистый способ сделать это для каждого проекта - добавить файл .editorconfig в корневой каталог проекта. Спасает вас от необходимости изменять настройки Atom, когда вы работаете над несколькими проектами одновременно.

Это образец базовой настройки, которую я сейчас использую. Работает для Atom, ST и т.д...

http://editorconfig.org/

# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true

# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2

# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2

Ответ 8

Это встроено в ядро: см. Settings ⇒ Tab Type и выберите auto:

Когда установлено значение "авто", редактор автоматически определяет тип табуляции на основе содержимого буфера (он использует первое начальное пространство пробелов в строке без комментария) или использует значение настройки конфигурации Soft Tabs если сбой автоматического обнаружения.

Вы также можете взглянуть на пакет Auto Detect Indentation. Из документов:

Автоматическое обнаружение отступов открытых файлов. Он просматривает каждый открытый файл и задает параметры вкладки для конкретных файлов (жесткие/мягкие вкладки, длина табуляции) на основе содержимого файла, а не всегда использует значения по умолчанию для редактора.

У вас может быть настроен атом, чтобы использовать 4 пробела для вкладок, но открыть проект рельсов, который по умолчанию имеет 2 пробела. Без этого пакета вам нужно будет изменить настройки табуляции во всем мире или столкнуться с несогласованностью в ваших файлах.

Ответ 9

У меня была такая же проблема, и ни одно из вышеприведенных предложений не работало. Наконец, я попытался снять флажок "Атомные мягкие вкладки" в меню "Настройки редактора", которое сработало.

Ответ 10

Если вы используете Babel, вам также может потребоваться обновить пакет "Language Babel". Для меня, несмотря на то, что у меня была заданная длина вставки в 2 в моих основных настройках редактора, та же настройка в настройке Language Babel переопределяла ее с помощью 4.

Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length

Удостоверьтесь в соответствующей грамматике, там "Babel ES6 Javascript Grammar", "Грамматика языка-babel-extension", а также "Регулярное выражение". Вероятно, вы хотите обновить их все, чтобы они были последовательными.

Ответ 11

Управление вкладками дает хороший контроль, аналогичный описанному в вашем вопросе.

Для разработчиков JavaScript также полезно длина вкладки ESLint для использования конфигурации ESLint.

Или, если вы используете .editorconfig для определения правил отступа для конкретного проекта, есть EditorConfig

Ответ 12

Если настройки отступов вложенных вкладок/пробелов больше не соответствуют вашим потребностям (IE вы работаете с устаревшими кодовыми базами с различными форматами отступов, и вам нужно быстро переключаться между ними, а автоматическое обнаружение не работает), вы можете попробуйте плагин tab-control, который дублирует функциональность меню на скриншоте.

Ответ 13

Когда обнаружение Auto-indent Atom получило это безнадежно неправильно и отказалось позволить мне ввести буквенный символ Tab, я в конце концов нашел 'Force-Tab' расширение, которое дало мне контроль. Я хотел сохранить shift-tab для outdenting, поэтому установите ctrl-tab, чтобы вставить жесткую вкладку. В моей ключевой карте я добавил:

'atom-text-editor': 'ctrl-tab': 'force-tab:insert-actual-tab'

Ответ 14

Если вы используете версию 1.21.1:

  • Нажмите "Просмотр пакетов/настроек" / "Открыть"
  • Выберите "Редактор" на левой панели.
  • Скройте до тех пор, пока не увидите "Длина табуляции"
  • Отредактируйте значение. Мне нравится устанавливать его на 4.

Теперь просто закройте панель активных вкладок, и все будет готово.

Ответ 15

Все самые популярные ответы здесь - это отличные ответы, и они будут включать пробелы для вкладок, но все они упускают одну вещь. Как применить пробелы вместо вкладок к существующему коду.

Для этого просто выберите весь код, который вы хотите отформатировать, затем перейдите в Edit-> Lines-> Auto Indent, и он исправит все выбранное.

Кроме того, вы можете просто выбрать весь код, который вы хотите отформатировать, затем использовать Ctrl Shift P и выполнить поиск для автоматического отступа. Просто щелкните по нему в результатах поиска, и он исправит все выбранное.