Bたーんぶろぐ

プログラマがそんなにテックでないことを書きます。

SublimeText2でJavaをコンパイル+実行

SublimeText2はビルド機能つき

先日Sublime Text 2をインストールしてから快適に使っています。

そして、エディタとしての機能もさることながら、プログラミング言語の勉強をする際に役立つのがコードのビルド機能("⌘+b")。

デフォルトでもC++やJavaCからHaskellまで11種類の言語に対応しています。

しかも、JSONで設定さえ書けばその他の言語のビルド環境も構築できます。

Tools > Build System > New Build System...とすると、新しいビルド環境設定ファイルが開かれます。

以下は、例としてPHPのビルド設定です。

{

"cmd": ["php","$file"] 

}

これでPHPの実行環境が完成です。

さながら統合開発環境です。

 

Javaでは実行まではしてくれない…

さて、このビルド機能はデフォルトでJavaCにも対応しています。

しかし、C++などとは異なり、実行(Run "⌘+Shift+b")まではしてくれません。

せっかくコンパイルしたんだから、いざ実行でターミナルを開くの非常に面倒くさい。

そこで、追加で実行機能をつけてしまいたいと思います。

 

JavaCの設定を編集

デフォルトのJavaCビルド設定ファイルは/Users/yamamoto/Library/Application Support/Sublime Text 2/Packages/Java/JavaC.sublime-buildです。

これを開き、以下に書き換えます。

{

"cmd": ["javac", "$file"],

"file_regex": "^(...*?):([0-9]*):?([0-9]*)",

"selector": "source.java",

 

"variants":

[

{

"name": "Run",

"cmd": ["bash", "-c", "javac '$file' && java '${file_base_name}'"]

}

]

}

上の三行まではデフォルトの設定そのままです。

その下がRun設定となっています。

自分もJSONをいじったことがなかったのですが、C++の設定を見様見真似で書きました。

これでちゃんとコンパイルと実行がコマンド一つで可能になります。

f:id:Btern:20130922211708p:plain

 

便利になった(?)

別にEclipse使えばいいじゃんとか言われそうですが、言語の勉強とか簡易的な実行ではこちらのほうが楽かな。

あと、ちょっとだけだけどメモリ消費量が抑えられるような気もする。(このマシンでは気にするほどのことはないのだけれど。)

いずれにせよ、一つの環境で文書作成からプログラム実行まで可能と言うのはとても便利なはず。

 

便利になったので早くJavaを書けるように頑張りたいと思います。