Sublime Text 2 API在启动时运行Node.js脚本的能力

4 投票
1 回答
609 浏览
提问于 2025-04-17 13:20

我正在开发一个插件,这个插件可以同步Sublime Text的配置。

这个插件的核心是一个node.js工具,它负责处理所有的事情。

接下来的步骤是创建一个Python的包装器,这个包装器会和Sublime Text API进行交互,并且每次打开文本编辑器时运行nodejs脚本
但主要的问题是我不懂Python。

我查找了一下,发现我需要执行这段自定义的Python代码:

from subprocess import call
call(["node", "app.js", "../User/"], Shell=true)

然后我研究了API,觉得我需要EventListener,但是没有像onEditorStart这样的事件。接着我发现有两个run_command(string, <args>),但我不知道怎么用它来实现我的目的。

然后我查看了Packages/Default/文件夹,里面有很多使用API函数的代码示例,但我还是不知道怎么在那101个文件中找到有用的代码。

我几乎快绝望了,所以决定在这里问问。请问我应该在Python中写什么代码才能让我的插件每次打开文本编辑器时运行nodejs脚本

1 个回答

1

José F. Romaniello 提出了一个在 gist.github.com 上的解决方案。

import sublime, sublime_plugin
from subprocess import call


class TestCommand(sublime_plugin.ApplicationCommand):
    def __init__(self):
        super(TestCommand, self).__init__()
        #do your stuf here
        # call(["node", "app.js", "../User/"], Shell=true)
        call(["ping", "192.168.1.1"])

    def run(self, edit):
        pass

撰写回答