0

我正在为 Git 的 Atom 文本编辑器编写一个包,它使用 Coffeescript。我有一个键绑定,它将启动我正在创建的功能。

我需要写什么来简单地打开一个应用程序?在这种情况下,我想打开 Transmit.app。

4

2 回答 2

2

spawn使用from node 或内置BufferedProcessfrom Atom运行进程非常简单。BufferedProcess包装 spawn 并提供标准输出和错误行缓冲。

文档中的示例:

{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})

如果您选择使用 spawn 路线,我建议您查看test-status是如何做到的。

于 2014-03-16T05:45:50.100 回答
1

我的快速谷歌搜索说 Atom 编辑器集成了 nodejs,所以你应该可以使用child_process.spawn

{spawn} = require 'child_process'
spawn 'path/to/your/transmit/app'
于 2014-03-16T03:36:22.373 回答