it-swarm.com.ru

Как сделать авто-отступ кода в редакторе Atom?

Как вы автоматически делаете отступ в своем коде в редакторе Atom? В других редакторах вы обычно можете выбрать некоторый код и автоматически сделать отступ. 

Также есть сочетание клавиш?

360
Anders

Я нашел эту опцию в меню, под Edit> Lines> Auto Indent. Кажется, он не имеет привязки по умолчанию к ключевой карте.

Вы можете попытаться добавить сопоставление клавиш (Atom> Открыть вашу таблицу ключей [в Windows: Файл> Настройки> Сочетания клавиш> «файл вашей таблицы ключей»]), например, так:

'atom-text-editor':
  'cmd-alt-l': 'editor:auto-indent'

У меня это сработало :)


Для Windows:

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'
625
Nacho L.

Принятый ответ работает, но вы должны сначала сделать «Выбрать все» - каждый раз - и я слишком ленив для этого.

И, оказывается, это не супер тривиально - я решил опубликовать это здесь, чтобы спасти единомышленников за 30 минут, которые требуются, чтобы выследить все это. - Также обратите внимание: этот подход восстанавливает исходный выбор, когда он сделан (и это происходит так быстро, что вы даже не замечаете, что выбор когда-либо изменялся).

1.) Сначала добавьте пользовательскую команду в ваш скрипт инициализации (Файл-> Открыть скрипт инициализации, затем вставьте его внизу):

atom.commands.add 'atom-text-editor', 'custom:reformat', ->
    editor = atom.workspace.getActiveTextEditor();
    oldRanges = editor.getSelectedBufferRanges();
    editor.selectAll();
    atom.commands.dispatch(atom.views.getView(editor), 'editor:auto-indent')
    editor.setSelectedBufferRanges(oldRanges);

2.) Свяжите «custom: reformat» с ключом (File-> Open Your Keymap, затем вставьте его внизу):

'atom-text-editor':
    'ctrl-alt-d': 'custom:reformat'

3.) Перезапустите Atom (скрипт init.coffee запускается только при первом запуске atom).

81
BrainSlugs83

Авто-отступ пакета существует, чтобы применить авто-отступ к весь файл с это сочетание клавиш :

ctrl+shift+i

или же

cmd+shift+i

URL пакета: https://atom.io/packages/auto-indent

40
colundrum

Я предпочитаю использовать Atom-Beautify, CTRL+ALT+B (в Linux, может быть и в Windows) обрабатывает все форматы лучше, и это также настраивается для каждого формата файла.

подробнее здесь: https://atom.io/packages/atom-beautify

22
ungalcrys

Вы можете просто быстро открыть командную палитру и сделать это там
Cmd + Shift + p и найдите Editor: Auto Indent:

screenshot

15
codingninja

Это работает для меня:

'atom-workspace atom-text-editor':
    'ctrl-alt-a': 'editor:auto-indent'

Вы должны выбрать все с помощью ctrl-a сначала.

5
dave doe

Если у вас есть проблемы с горячими клавишами, попробуйте открыть Key Binding Resolver Window с Cmd + ., Он покажет вам клавиши, которые вы нажимаете в режиме реального времени.

Например, Cmd + Shift + ' на самом деле Cmd + "

2
Dmitriy

Это лучшая помощь, которую я нашел:

https://atom.io/packages/atom-beautify

Этот пакет может быть установлен в Atom, а затем CTRL + ALT + B решит проблему.

1
Michel Fernandes

В линуксе

(проверено в Ununtu KDE)

В меню есть пункт "Правка"> "Линии"> "Автоматический отступ" или нажмите Cmd + Shift + p, найдите Editor: Auto Indent, просто введя "ai"

Примечание: в KDE ctrl-alt-l уже глобально установлен для "экрана блокировки", поэтому лучше использовать вместо него ctrl-alt-i.

Вы можете добавить отображение ключей в Atom:

  • Cmd + Shift + pнайдите "Просмотр настроек: Показать сочетания клавиш"
  • нажмите на "ваш файл раскладки"
  • Добавьте туда раздел, как этот:

     'atom-text-editor':
        'ctrl-alt-i': 'editor:auto-indent'
    

Если отступ не работает, это может быть причиной того, что окончание файла не распознается Atom. Добавьте поддержку вашего языка, затем, например, для "Lua" установите пакет "language-lua".

Если файл не распознается для вашего языка:

  • откройте файл ~/.atom/config.cson (с помощью CTRL + SHIFT + p: введите `` open config '')
  • добавьте/отредактируйте раздел customFileTypes в core, например, следующим образом:

    core:
      customFileTypes:
        "source.lua": [
          "conf"
        ]
        "text.html.php": [
          "thtml"
        ]
    

(Вы можете найти имена областей действия языков ("source.lua", "text.html.php" ...) в настройках языкового пакета см. Здесь )

0
rubo77

Я работал над отличным кодом, который не сохраняет автоматически при сохранении. Я щелкнул правой кнопкой мыши на панели кода и выбрал ESLint Fix. Это исправило мои отступы.

 enter image description here

0
Jeff Lowery

Вы также можете попытаться добавить сопоставление клавиш, чтобы автоматически выбрать весь код в файле и сделать отступ:

'atom-text-editor':
  'ctrl-alt-l': 'auto-indent:apply'
0
Hristian Yordanov