Sublimetext3 ST3中代码块自动缩进/重新缩进的键绑定

Sublimetext3 ST3中代码块自动缩进/重新缩进的键绑定,sublimetext3,indentation,auto-indent,Sublimetext3,Indentation,Auto Indent,有没有办法添加一个键绑定以在Sublime Text 3中重新嵌入突出显示的代码块 我知道Edit>Line>reindent中有一个“reindent”选项,但它没有键绑定 而且,reindent函数不是那么“聪明”,在某些情况下,它会给出奇怪的结果。有没有一个插件可以更好地解决这个问题 如果有帮助的话,我主要使用JavaScript编写代码。在回答问题的第一部分时,可以将键绑定到菜单或命令调色板中存在的任何内容,只需找出所需的命令和参数即可 最简单的方法是使用Ctrl+`或视图>显示控制台打

有没有办法添加一个键绑定以在Sublime Text 3中重新嵌入突出显示的代码块

我知道
Edit>Line>reindent
中有一个“reindent”选项,但它没有键绑定

而且,reindent函数不是那么“聪明”,在某些情况下,它会给出奇怪的结果。有没有一个插件可以更好地解决这个问题


如果有帮助的话,我主要使用JavaScript编写代码。

在回答问题的第一部分时,可以将键绑定到菜单或命令调色板中存在的任何内容,只需找出所需的命令和参数即可

最简单的方法是使用Ctrl+`或
视图>显示控制台
打开升华控制台,然后输入命令
升华.log_commands(True)
,执行命令并查看其内容:

>升华.log\u命令(真)
命令:reindent{“单线”:true}
您可以使用
False
而不是
True
运行命令来关闭日志记录,或者只需重新启动Sublime即可

有了这些知识,您可以使用通过使用
首选项>键绑定
并在右侧窗格中添加绑定而显示的命令和参数创建键绑定

在这种情况下,它看起来像这样(根据需要更改键):

{
“键”:[“ctrl+alt+r”],
“命令”:“reindent”,
“args”:{
“单线”:正确
}
},
执行此操作后,不仅键绑定处于活动状态,而且升华还会在菜单项旁边显示您在菜单中选择的键,作为对您的额外提醒

对于你问题的第二部分,的确,代码的内部修改和重新格式化在崇高中并不理想;部分原因是,出于兼容性原因,其缩进系统由一些简单的正则表达式以与TextMate相同的方式提供支持

在任何情况下,您都可以为第三方软件包提供支持,以便更好地格式化/重新格式化代码。在JavaScript的情况下,类似的东西可能是您想要的


通常,这样的软件包只提供与执行该工作的外部工具的集成,因此还需要安装外部第三方工具才能正常工作。但是,在JsFormat的特定情况下,它直接绑定自己的格式化程序。

谢谢,
log\u命令
tip很棒,它将开始摆弄它,并且可能会添加更多的键绑定。此外,为了科学起见,是否有方法向键绑定添加2个或更多命令?您可以通过宏和
run\u macro\u file
命令运行多个命令(有关如何使用它的示例,请参阅默认键绑定)。但是,只有当它们都是修改文件或更改光标位置的命令时,这才有效。在一般情况下,包允许执行任意数量的任意命令。