2016-04-09 14 views
1

cmd-shift-rのようなショートカットをクリックして、自動的にbashコマンドを実行したいとします。たとえば、mix test test/turtle/api/v3_test.exs:72です。言い換えれば現在選択されている行のbashコマンドを実行する

mix test {FILE_ACTIVE}:{FILE_ACTIVE_LINE_NUMBER}

これを実現する最良の方法は何ですか?これを世話するアトムパッケージがありますか?自分ですぐに書くことができるものはありますか?

ありがとうございます!

+0

bashコマンドの出力は気になりますか? –

+0

はい、出力を表示します。主な使用例は私が望むワークフローです。私はAtomでテストを書いており、ショートカットを打ってそのテストだけを実行したいと思っています。それが失敗したかどうかの結果を確認したいでしょうか。 –

+0

私はあなたがElixirテストを書いていると仮定していますが、[AtomのElixirコンパイラ](https://github.com/AtomBuild/atom-build-elixir)はあなたのために働きますか?もしそうなら、私はソースコードを取得し、必要な機能を追加することを提案します。 –

答えて

0

init.coffeeをロードするには、FileInit 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. アトムは、あなたが反対のコードを実行し、Ctrlキーでコマンドパレットを開きたいファイルの行を見つけ、再起動したら - シフト - PExecute This Testを検索します。

生成する出力の量を減らすには、コードを調整することをお勧めしますが、上記の方法では開始するのに十分です。ワークフローをさらに最適化したい場合は、create a Keybindingとすることができます。

+1

ありがとうございました。私はこれを今夜スピンアップして返信します:) –

+0

どうやって乗りましたか? –

+0

それは素晴らしい仕事をした。私はスクリプトを微調整しました - コマンドの現在の作業ディレクトリを渡しました。私はあなたの提案を受け取り、生成された出力を次のステップとしてトリミングします。ありがとう! –

関連する問題