sbtのconsole上からIntelliJ IDEAを起動させる

commands += BasicCommands.newAlias("openIdea", """eval sys.process.Process("open" :: "/Applications/IntelliJ IDEA 13 CE.app" :: Nil).!""")
  • Mac限定です。他のOSでも、openに相当するOSのコマンド(?)があって、固定のアプリのpathわかればいけるのではないでしょうか。
  • .sbtrcでやろうとしたら、エスケープの関係で面倒だったので、 ~/.sbt/0.13/build.sbt に書くようにしました。
  • 上記のようにすれば、グローバルでも、それぞれのプロジェクト毎でも、build.sbtやBuild.scalaでalias追加できます。


追記

プロジェクトも開けるようにできるらしい、という情報もらった。便利だ。ポイントは

でしょうか?つまり以下ようになる

commands += BasicCommands.newAlias(
  "openIdea",
  s"""eval sys.process.Process("/Applications/IntelliJ IDEA 13 CE.app/Contents/MacOS/idea" :: "${(baseDirectory in LocalRootProject).value}" :: Nil).run()"""
)

*1:更に言うと、引数なしのrunだとログが同じコンソールにでるので、それが邪魔だったら、引数つけてログは他のところに出すようにすると良い