ST3 中 auto-indent/reindent 代码块的按键绑定
Keybind for auto-indent/reindent block of code in ST3
有没有办法在 Sublime Text 3 中添加键绑定以重新缩进突出显示的代码块?
我知道 Edit > Line > Reindent
中有一个 "reindent" 选项,但它没有键绑定。
此外,重缩函数并非如此 "smart",在某些情况下它会产生奇怪的结果。有没有更好解决这个问题的插件?
如果有帮助,我主要使用 JavaScript 编写代码。
涵盖问题的第一部分,可以将键绑定到菜单或命令面板中存在的任何内容,这只是找出您需要的命令和参数的问题。
最简单的方法是使用 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 for third party packages that might allow for better formatting/reformatting of code. In the case of JavaScript, something like JsFormat可能是你想要的。
通常这样的包只提供与完成工作的外部工具的集成,因此还需要您安装外部第三方工具才能运行。然而,在 JsFormat 的特定情况下,它直接捆绑了自己的格式化程序。
有没有办法在 Sublime Text 3 中添加键绑定以重新缩进突出显示的代码块?
我知道 Edit > Line > Reindent
中有一个 "reindent" 选项,但它没有键绑定。
此外,重缩函数并非如此 "smart",在某些情况下它会产生奇怪的结果。有没有更好解决这个问题的插件?
如果有帮助,我主要使用 JavaScript 编写代码。
涵盖问题的第一部分,可以将键绑定到菜单或命令面板中存在的任何内容,这只是找出您需要的命令和参数的问题。
最简单的方法是使用 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 for third party packages that might allow for better formatting/reformatting of code. In the case of JavaScript, something like JsFormat可能是你想要的。
通常这样的包只提供与完成工作的外部工具的集成,因此还需要您安装外部第三方工具才能运行。然而,在 JsFormat 的特定情况下,它直接捆绑了自己的格式化程序。