如何使用Node.js打开Sublime Text

时间:2017-10-30 04:32:32

标签: javascript node.js sublimetext3 electron

我正在开发一个使用node.jselectron构建的文件管理系统。

文件管理显示文件夹中的文件列表,并允许用户运行自定义命令批处理文件,例如重命名,自定义分组等...

但是我想实现一个功能,如果用户点击文件,它将使用他们选择的文本编辑器打开。

我无法使用node.js代码打开sublime文本编辑器(或任何相关内容)。

我已经在这里查看了其他问题,例如“Launch an external application from node.js”和“Is it possible to execute an external program from within node.js?”,但没有一个答案对我有效。

大多数答案使用操作系统的“默认”程序打开文件,这不是我想要的。我希望能够选择打开文件的程序。

我发现下面的代码调用全局路径变量来从节点打开外部软件:

rdfs:subClassOf+

但是当然如果你用一个指向sublime_text.exe的文件路径替换'yourApp'就行不通了:

const exec = require("child_process").exec
exec('yourApp').unref()

非常感谢任何帮助。谢谢

2 个答案:

答案 0 :(得分:0)

您需要将此作为您的路径: C:/ Program \ Files / Sublime \ Text \ 3 / sublime_text.exe

答案 1 :(得分:0)

我明白了。事实证明,它比我第一次发布打开外部文件所需的代码多一点。完整代码如下所示:

// Create a child process
var spawn = require('child_process').spawn;
var child = spawn('Path_To_.exe', ['parameters', 'Path_To_File']);

另外,如果有人想知道没有必要转义序​​列文件名中的空格。

感谢所有愿意提供帮助的人!