为当前选定的行运行bash命令

时间:2016-04-09 20:02:56

标签: atom-editor

我希望能够点击cmd-shift-r之类的快捷方式,并自动运行bash命令,例如mix test test/turtle/api/v3_test.exs:72

换句话说:mix test {FILE_ACTIVE}:{FILE_ACTIVE_LINE_NUMBER}

实现这一目标的最佳方法是什么?是否有一个原子包来处理这个或我自己可以快速写的东西?

谢谢!

1 个答案:

答案 0 :(得分:0)

通过转到init.coffeeFile或从命令中选择Init Script...,使用Application: Open Your Init Script加载此功能可以实现相当低效的方式调色板。

  1. 将以下内容添加到init.coffee

    的底部
    atom.commands.add 'atom-text-editor',
      'custom:execute-this-test': ->
        if editor = atom.workspace.getActiveTextEditor()
          row = editor.getCursors()[0].getBufferRow() + 1
          path = editor.buffer.file.path
          {spawn} = require 'child_process'
          mix = spawn 'mix', ['test', "#{path}:#{row}"]
          mix.stderr.on 'data', (data) ->
            atom.notifications.addError data.toString()
          mix.stdout.on 'data', (data) ->
            atom.notifications.addInfo data.toString()
          mix.on 'exit', (code) ->
            atom.notifications.addInfo "Exited with Code #{code}"
    
  2. 使用 Ctrl - S 保存文件,然后使用 Ctrl 重新加载文本编辑器 - Alt - - [R

  3. Atom重新启动后,找到要执行代码的文件中的行,并使用 Ctrl 打开命令调色板 - Shift - P < / kbd>并搜索Execute This Test
  4. 您可能需要调整代码以减少它生成的输出量,但是上述内容可能足以让您入门。如果您想进一步优化工作流程,可以create a Keybinding