【问题标题】:Komodo 11 - run script when saving a fileKomodo 11 - 保存文件时运行脚本
【发布时间】:2018-06-02 03:38:21
【问题描述】:

在我的公司中,我们在后端使用 Perl 编写的项目使用 Komodo 11,前端使用 Javascript。还有一个问题,因为我们在 Apache 服务器上使用 mod_perl 模块,每次我们对 Perl 文件进行更改时,我们都必须重新启动 Apache 服务器以清除缓存并查看服务器上的更改。

在保存文件时,Komodo 是否有解决方案可以在每次控制台命令(重新启动 Apache 服务器)时运行?因为我不想在每次更改 Perl 文件后手动重新启动 Apache。

【问题讨论】:

    标签: apache perl console mod-perl komodo


    【解决方案1】:

    编辑到用户脚本,而不是运行命令

    您正在工具箱中寻找 Userscriptshttp://docs.activestate.com/komodo/11/manual/macros.html

    然后使用 Komodo Javascript SDK 中的 shell 模块: http://docs.activestate.com/komodo/11/sdk/api/module-ko_shell.html

    例子:

    require("ko/shell").exec("ls -la", {}, ()=>{console.log("I ran")})
    

    这将运行ls -la。您可以在 Komodo 控制台中尝试,查看菜单 > 选项卡和侧边栏 > 控制台

    如果您需要更多信息,请查看文档或在 Komodo 论坛中发帖。我们几乎每天都会回答问题: community.komodoide.com

    【讨论】:

    • 谢谢。不幸的是,我在 Komodo 文档中没有找到任何关于在执行某些操作时运行命令的内容,即保存文件。
    • 哦,那太傻了。我在想Userscripts。您可以在 JS 中实现它并使用 Komodo SDK,它可以让您轻松地使用 ko/shell 运行终端命令,或者使用 Python 的 os.system 来执行命令。用户脚本支持两种语言。然后将 UserscriptTrigger 属性设置为 After file save。我希望这是有道理的。很抱歉原始答案令人困惑。
    • 非常感谢。我试图使用 Komodo SDK 编写用户脚本,但不幸的是,我认为描述如何运行这些命令真的很糟糕,我现在很困惑。整个互联网上没有例子。你用过这个 Komodo SDK 吗?你能写一个简单的脚本在cmd(Windows)中执行一些操作吗?
    • 我帮助编写 Komodo,所以是的,我使用了 SDK :)。我有两个星期没带电脑了,所以我不能为你写点什么。文档中有使用 SDK 的示例。如果您需要更多帮助,请在 Komodo 论坛中提问。我敢肯定,有人会在一天之内回复。
    • 正如我上面所说,如果您查看文档中的示例。这是您要在此处使用的模块。 docs.activestate.com/komodo/11/sdk/api/module-ko_shell.html 所以它会类似于require("ko/shell").exec("ls -la", {}, ()=>{console.log("I ran")})。你把它放在一个宏中,将触发器属性设置为在保存时运行,你就完成了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多