【发布时间】:2019-06-15 15:10:48
【问题描述】:
我的问题类似于 SublimeHQ 论坛中的thread。
我在Default.sublime-commands 文件中添加了一些条目来打开文件,例如
{ "caption": "File Open: File Name",
"command": "open_file",
"args": {"file": "/path/to/file.ext"} },
它们工作正常,但我希望其中一个在特定行号处打开,但找不到正确的符号。
这不会打开第 123 行的文件,而是打开文件路径:/path/to/file.ext:123。
{ "caption": "File Open: File Name",
"command": "open_file",
"args": {"file": "/path/to/file.ext:123"} },
他们建议:
尝试将“flags” : 1 添加到参数列表中。 API open_file 需要有标志ENCODED_POSITION 从文件名中提取行/列,可能是一样的。
{ "caption": "File Open: File Name",
"command": "open_file",
"args": {"file": "/path/to/file.ext:123", "flags":1} },
但这也失败了。
在sublime.py
def open_file(self, fname, flags=0, group=-1):
open_file(file_name, <flags>)
但在args 键中,我们使用file 而不是file_name 和fname。
在哪里写的?
如何在不创建新插件的情况下做到这一点?
【问题讨论】:
-
使用您在问题中引用的my plugin 有什么问题?如果您需要有关如何安装它的帮助,请在该广告中发帖,我会给出说明。顺便说一句,在指定 args 时,不必指定
col,它可以省略(row也是如此,但这会弄巧成拙。 -
@mattst 只需要知道如何在没有插件的情况下进行操作,以及在哪里声明了命令。如果没有办法,那么插件就可以了
-
没有办法用原生的 Sublime Text 命令来做到这一点。在the thread 中,您可以看到我尝试过的所有组合,但都没有奏效。如果有其他方法可以做到这一点,有人会在线程中这样回答。我认为您需要使用my plugin 来解决问题。
-
@mattst 我会使用你的插件。如果没有其他方法可以做到这一点,也应该在线程中回复。这就是我在这里发帖的原因。有没有办法使用 api 找到命令的可用参数?
-
不,没有办法使用 API 找到可用的参数。正如 OdatNurd 所说,Sublime Text NATIVE
open_file命令和 APIopen_file命令虽然名称相同,但并不是一回事。很可能本机open_file命令只需要 1 个 arg,即文件路径。 Sublime Text 的一大优点是当您需要额外或不同的功能时,您通常可以编写一个插件来提供它;在这种情况下,插件只花了我几分钟的时间来编写,并且只有 4 行代码。
标签: sublimetext3 sublime-text-plugin