413

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

是否也有键盘快捷键?

4

13 回答 13

686

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

您可以尝试添加一个键映射(Atom > Open Your Keymap [on Windows: File > Settings > Keybindings > "your keymap file"]),如下所示:

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

它对我有用:)


对于 Windows:

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'
于 2014-03-26T12:39:15.067 回答
99

接受的答案有效,但你必须先做一个“全选”——每次——我太懒了。

事实证明,这并不是微不足道的——我想我会把这个贴在这里,试图为志同道合的人节省 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”绑定到一个键(文件->打开您的键盘映射,然后将其粘贴到底部):

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

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

于 2015-11-25T22:38:12.217 回答
43

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

ctrl+ shift+i

或者

cmd+ shift+i

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

于 2014-10-21T18:08:56.843 回答
26

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

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

于 2016-01-20T22:51:56.770 回答
19

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

截屏

于 2015-10-01T20:22:50.083 回答
5

这对我有用:

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

你必须先用ctrl-a选择所有。

于 2016-05-24T17:10:41.317 回答
5

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

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

这个包可以安装在Atom中然后CTRL++ALT解决B问题。

于 2017-11-18T00:07:54.317 回答
2

如果您在使用热键时遇到问题,请尝试Key Binding Resolver Window使用Cmd + .. 它将实时显示您正在按下的键。

例如,Cmd + Shift + '实际上是Cmd + "

于 2015-05-31T11:40:25.770 回答
2

在 Linux 上

(在 Ununtu KDE 中测试)

菜单中有选项,在Edit > Lines > Auto Indent下或按Cmd + Shift + pEditor: Auto Indent输入“ai”进行搜索

注意:在 KDEctrl-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:键入“打开配置”)
  • 在下面添加/编辑一个customFileTypes部分core,例如:

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

(您可以在语言包设置中找到语言范围名称(“source.lua”、“text.html.php”...),请参见此处

于 2018-07-13T08:14:17.660 回答
0

您还可以尝试添加一个键映射女巫自动选择文件中的所有代码并缩进它:

'atom-text-editor':
  'ctrl-alt-l': 'auto-indent:apply'
于 2018-02-27T13:47:53.763 回答
0

我正在编写一些 groovy 代码,这些代码在保存时不会自动格式化。我所做的是右键单击代码窗格,然后选择 ESLint Fix。那固定了我的缩进。

在此处输入图像描述

于 2018-04-11T18:06:29.840 回答
0

如果您习惯了 Eclipse IDE 或 Netbeans,您可以使用包eclipse-keybindings ( https://atom.io/packages/eclipse-keybindings ):

这个 Atom 包为 Atom 提供了 Eclipse IDE 键映射。目前,Eclipse 快捷方式直接映射到现有的 Atom 命令。

要格式化文件中的所有行,只需使用:Ctrl+Shift+F.

于 2021-09-16T19:31:18.533 回答
0

Ctrl+Shift+i 在 Windows 下的 PHP 中为我工作……但有些文件没有反应。我不是最聪明的,我花了一段时间才发现问题出在包含文件上。如果您使用echo(' ... PHP ...')则 PHP 不会重新格式化。为了克服这个问题,创建一个临时 PHP 文件,比如 t.php,将 PHP 部分复制到其中,重新缩进它(Ctrl+Shift+i ...我提到过吗?)然后将新重新格式化的 PHP 复制回原始文件。虽然这很痛苦,但它确实为您提供了正确格式化的 PHP。

于 2022-01-19T10:37:39.650 回答