我正在从Git编写Atom文本编辑器的包,它使用Coffeescript。我有一个键绑定将启动我正在创建的功能。
只需打开一个应用程序,我需要写什么?在这种情况下,我想打开Transmit.app。
答案 0 :(得分:2)
使用来自节点的spawn
或来自Atom的内置BufferedProcess
来运行流程非常简单。 BufferedProcess
包装spawn并提供标准输出和错误行缓冲。
来自the docs的示例:
{BufferedProcess} = require 'atom'
command = 'ps'
args = ['-ef']
stdout = (output) -> console.log(output)
exit = (code) -> console.log("ps -ef exited with #{code}")
process = new BufferredProcess({command, args, stdout, exit})
来自atom-script的更多充实示例(已修改):
{BufferedProcess} = require 'atom'
command = "open"
args = ["/path/to/Transmit.app"]
# Default to where the user opened atom
options =
cwd: atom.project.getPath()
env: process.env
stdout = (output) -> console.log(output)
stderr = (output) -> console.error(output)
exit = (return_code) ->
if return_code is 0
console.log("Exited with 0")
else
console.log("Exited with " + return_code)
# Run process
bufferedProcess = new BufferedProcess({command, args, options, stdout, stderr, exit})
如果您选择去产卵路线,我建议您查看test-status的做法。
答案 1 :(得分:1)
我的快速谷歌搜索说Atom编辑器集成了nodejs,因此您应该可以使用child_process.spawn。
{spawn} = require 'child_process'
spawn 'path/to/your/transmit/app'