【发布时间】:2014-05-01 22:13:51
【问题描述】:
如何在 Atom 编辑器中自动缩进代码?在其他编辑器中,您通常可以选择一些代码并自动缩进。
还有键盘快捷键吗?
【问题讨论】:
标签: code-formatting atom-editor auto-indent
如何在 Atom 编辑器中自动缩进代码?在其他编辑器中,您通常可以选择一些代码并自动缩进。
还有键盘快捷键吗?
【问题讨论】:
标签: code-formatting atom-editor auto-indent
如果你习惯了 Eclipse IDE 或者 Netbeans,你可以使用包 eclipse-keybindings (https://atom.io/packages/eclipse-keybindings):
此 Atom 包为 Atom 提供 Eclipse IDE 键映射。目前,Eclipse 快捷方式直接映射到现有的 Atom 命令。
要格式化文件中的所有行,只需使用:Ctrl+Shift+F。
【讨论】:
【讨论】:
【讨论】:
(在 Ununtu KDE 中测试)
菜单中有一个选项,在 Edit > Lines > Auto Indent 下或按 Cmd + Shift + p,只需输入“ai”即可搜索Editor: Auto Indent "
注意:在 KDE 中,ctrl-alt-l 已全局设置为“锁屏”,因此最好改用ctrl-alt-i。
您可以在 Atom 中添加键映射:
在那里添加一个像这样的部分:
'atom-text-editor':
'ctrl-alt-i': 'editor:auto-indent'
如果缩进不起作用,则可能是 Atom 无法识别文件结尾的原因。然后添加对您的语言的支持,例如为“Lua”安装包“language-lua”。
如果您的语言无法识别文件:
~/.atom/config.cson文件(按CTRL+SHIFT+p:输入``open config'')在core 下添加/编辑customFileTypes 部分,例如:
core:
customFileTypes:
"source.lua": [
"conf"
]
"text.html.php": [
"thtml"
]
(您可以在语言包设置see here中找到语言范围名称(“source.lua”、“text.html.php”...)
【讨论】:
我更喜欢使用 atom-beautify,CTRL+ALT+B(在 linux 中,也可能在 windows 中)处理得更好格式,也可以根据文件格式进行自定义。
【讨论】:
path 函数添加了一个空格,因此找不到路由
您也可以尝试添加一个键映射,自动选择文件中的所有代码并缩进它:
'atom-text-editor':
'ctrl-alt-l': 'auto-indent:apply'
【讨论】:
这对我有用:
'atom-workspace atom-text-editor':
'ctrl-alt-a': 'editor:auto-indent'
你必须先用 ctrl-a 全选。
【讨论】:
我在菜单中的“编辑”>“行”>“自动缩进”下找到了该选项。它似乎没有绑定默认的键盘映射。
您可以尝试添加一个按键映射(Atom > 打开您的按键映射 [在 Windows 上:文件 > 设置 > 按键绑定 > “您的按键映射文件”]),如下所示:
'atom-text-editor':
'cmd-alt-l': 'editor:auto-indent'
它对我有用:)
对于 Windows:
'atom-text-editor':
'ctrl-alt-l': 'editor:auto-indent'
【讨论】:
cmd + shift + p搜索Editor: Auto Indent
ctrl-alt-l 是 ubuntu 的默认锁屏快捷方式,我现在用ctrl-shift-] 映射。
接受的答案有效,但您必须先执行“全选” - 每次 - 我太懒了。
事实证明,这并不是一件微不足道的事情——我想我会在这里发布这篇文章,以便为志同道合的人节省 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 首次启动时运行)。
【讨论】:
if oldRanges != null && oldRanges[0].start.column == oldRanges[0].end.column && oldRanges[0].start.row == oldRanges[0].end.row 将此条件添加到editor.selectAll(); 仍将允许仅缩进所选内容。如果没有选择,它将缩进整个文件。
checkpoint = editor.createCheckpoint();,最后添加:editor.groupChangesSinceCheckpoint(checkpoint);
如果您遇到热键问题,请尝试使用 Cmd + . 打开Key Binding Resolver Window。它会实时显示你正在按下的键。
例如 Cmd + Shift + ' 其实就是 Cmd + "
【讨论】: