如何在Atom编辑器中自动缩进代码?

And*_*ers 385 code-formatting auto-indent atom-editor

如何在Atom编辑器中自动缩进代码?在其他编辑器中,您通常可以选择一些代码并自动缩进.

还有键盘快捷键吗?

Nac*_* L. 651

我在菜单中的Edit> Lines> Auto Indent下找到了该选项.它似乎没有绑定默认键映射.

您可以尝试添加一个键映射(Atom>打开您的键盘映射[在Windows上:文件>设置>键绑定>"您的键映射文件"]),如下所示:

'atom-text-editor':
  'cmd-alt-l': 'editor:auto-indent'
Run Code Online (Sandbox Code Playgroud)

它对我有用:)


对于Windows:

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'
Run Code Online (Sandbox Code Playgroud)

  • 你也可以`cmd + shift + p`并搜索`Editor:Auto Indent` (13认同)
  • @doobdargent我在这里创建了一个问题,答案是如何将两个命令组合成一个新命令:http://stackoverflow.com/questions/24456995/how-do-i-write-a-custom-command-in-atom/24456996 (3认同)
  • 对于ubuntu,它的[编辑>打开你的键盘映射].由于`ctrl-alt-l`是ubuntu锁定屏幕的默认快捷方式,我现在用`ctrl-shift-]`进行映射. (3认同)

Bra*_*s83 85

接受的答案有效,但你必须先做"全选" - 每一次 - 而且我太懒了.

事实证明,这并非超级微不足道 - 我想我会在这里发布这个以试图拯救志同道合的人30分钟来追踪这一切. - 还要注意:这种方法在完成时恢复原始选择(它发生得太快,你甚至没有注意到选择被改变了).

1.)首先,在init脚本中添加一个自定义命令(文件 - >打开你的初始化脚本,然后将其粘贴在底部):

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);
Run Code Online (Sandbox Code Playgroud)

2.)将"custom:reformat"绑定到一个键(File-> Open Your Keymap,然后将其粘贴到底部):

'atom-text-editor':
    'ctrl-alt-d': 'custom:reformat'
Run Code Online (Sandbox Code Playgroud)

3.)重新启动Atom(init.coffee脚本仅在首次启动atom时运行).

  • @Zelphir我通常有一个用于缩进选择的键绑定,以及另一个用于全部缩进的键绑定。-我不会经常使用缩进,但是在需要时最好使用缩进。 (2认同)
  • `if oldRanges != null && oldRanges[0].start.column == oldRanges[0].end.column && oldRanges[0].start.row == oldRanges[0].end.row` 将此条件添加到 ` editor.selectAll();` 仍将允许仅缩进选择。如果没有选择,它将缩进整个文件。 (2认同)
  • 如果您想对整个命令执行单个撤消步骤,请在定义编辑器后添加:`checkpoint = editor.createCheckpoint();`,并在末尾添加:`editor.groupChangesSinceCheckpoint(checkpoint);` (2认同)

小智 42

包含自动缩进存在以使用此快捷方式将自动缩进应用于整个文件:

ctrl+ shift+i

要么

cmd+ shift+i

包网址:https://atom.io/packages/auto-indent


ung*_*rys 22

我更喜欢使用atom-beautify,CTRL+ ALT+ B(在linux中,也可能在windows中)处理更好的格式,并且它也可以根据文件格式进行自定义.

更多细节:https://atom.io/packages/atom-beautify


cod*_*nja 17

您可以快速打开命令面板并在那里
Cmd + Shift + p进行搜索Editor: Auto Indent:

截图

  • 如果你是超级用户,这不是很快:) (10认同)

小智 5

这对我有用:

'atom-workspace atom-text-editor':
    'ctrl-alt-a': 'editor:auto-indent'
Run Code Online (Sandbox Code Playgroud)

您必须首先使用ctrl-a选择全部.


Mic*_*des 5

这是我找到的最好的帮助:

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

该软件包可以安装在Atom和然后CTRL+ ALT+B解决问题。