有没有一种方法可以添加一个键绑定来重新插入Sublime Text 3中突出显示的代码块?
我知道Edit > Line > Reindent
中有一个“ reindent”选项,但是它没有键绑定。
此外,这种重凹入功能并不是那么“聪明”,在某些情况下,它给出的结果很奇怪。是否有一个插件可以更好地解决此问题?
如果有帮助,我主要使用JavaScript进行编码。
答案 0 :(得分:1)
涵盖问题的第一部分,可以将键绑定到菜单或命令面板中存在的任何内容,只需找出所需的命令和参数即可。
最简单的方法是使用 Ctrl +`或View > Show Console
打开Sublime控制台,然后输入命令sublime.log_commands(True)
,执行命令并查看其内容说:
>>> sublime.log_commands(True)
command: reindent {"single_line": true}
您可以使用False
而不是True
来运行命令命令以关闭日志记录,或者仅重新启动Sublime。
有了这些知识,您就可以使用通过使用Preferences > Key Bindings
显示的命令和参数并在右侧窗格中添加绑定来创建键绑定。
在这种情况下,它将看起来像这样(适当更改密钥):
{
"keys": ["ctrl+alt+r"],
"command": "reindent",
"args": {
"single_line": true
}
},
执行此操作后,不仅键绑定处于活动状态,Sublime还将在菜单项旁边的菜单中显示您在菜单中选择的键,以提醒您。
对于您的问题的第二部分,在Sublime中,代码的内部缩进和重新格式化确实不理想;部分原因是出于兼容性原因,其缩进系统由一些简单的正则表达式以与TextMate相同的方式提供支持。
在任何情况下,您都可以search Package Control获取第三方软件包,这些软件包可能允许更好地格式化/重新格式化代码。对于JavaScript,您可能想要JsFormat之类的东西。
通常,这样的软件包仅提供与完成工作的外部工具的集成,因此,您还需要安装外部第三方工具才能起作用。但是,在JsFormat的特定情况下,它将直接捆绑自己的格式化程序。