ラベル scala の投稿を表示しています。 すべての投稿を表示
ラベル scala の投稿を表示しています。 すべての投稿を表示

2010年2月1日月曜日

Jet BRAINS IntelliJIDEA9

scalaを触り始めて1ヶ月ちょっと経過してliftもやってみたくなり触り始めましたが、フレームワークは端末&emacsベースでコマンド叩きまくる感じだと個人的にはかなりキツい。jettyもリロード繰り返すとよく落っこちるのでJavaRebel(ライセンス、又は登録が必要)を使おうかどうしようかと迷ってましたが、まずは統合環境からと幾つか試してみました。
eclipseはまだまだ何かscala&liftと噛み合っていない印象を受けました。
Netbeansのscalaプラグインは評判良い感じですが、6.8だとscala2.8系じゃないと駄目なようでうまく動かず、何というか、とりあえずシェルでemacsでmavenでいいかなぁ、という感じでした。
どちらも無償版なので文句言えるシロモンではないですが、物は試しと使った事のないIntelliJを落としてくる事にしました。
IntelliJは商用だったのですが昨年コミュニティエディション(javaのWeb開発関連の機能削除版)がオープンソース化されてます。
日本語化されていないので日本ではマイナーですが、scalaを公式サポートしているらしくプラグインが結構な頻度で更新されています。

Jet BRAINS IntelliJIDEA9

ubuntu上でここ数日、テーマ変えたりフォント変えたり、設定やら何やらあれこれ触ってlfit動かしてましたが、単にIDEとして見た場合、凄く洗練されてる感じです。
見たい物はすぐ見られるし、いらない物はすぐ隠せるし、やりたい事にすぐアクセスできる感じ。ただ、コードのインスペクション機能が鬱陶しいのでそこそこ微調整が必要かもです。
liftプロジェクトをインポートして、mavenプラグインからも選択実行できます。
IDE自体がヒストリ機能をもってますが、Gitプラグインが結構使えるレベルです。
エディタ向けemacsキーバインド機能なんてのもあるし、scalaのコード補完機能も使えて結構完成度高いです。
コーディングとコードリーディングに関しては現状とりあえず十分ですが、今のところ自動コンパイルの方法は分かりません。デバッガは機能していますが、クラスリロードはpom.xmlの”scanIntervalSeconds”を0に設定してメニューからリロード選択置き換えです。

オープンソース化されたのでEclipseの様にこれからIntelliJベースの商用プロダクツが出てくるかもしれないです。JetBrains(チェコの会社なんですね)は有償版も提供し続けるって事です。
とりあえずしばらくIntelliJを使ってみようかと思ってます。

こちらの記事を参照させて戴きました。
■「Googlerも使っているIntelliJ IDEAのOSS版を試す
■「IntelliJがオープンソースに

2010年1月28日木曜日

GUIのjavaデコンパイラ

クラスファイルのデコンパイラにGUIバージョンがありました。
JD(java Decompiler)
上記からダウンロードして解凍し、"jd-gui"ダブルクリックで起動します。




デコンパイルしたいクラスファイルをFileメニューから選択すると、
そのディレクトリにあるclassファイルを全て左ペインに読み込んでくれます。
eclipseプラグインもあり、ダウンロード出来るようです(未検証)。

2009年12月19日土曜日

scala用Yasnippet

scalaを何となく眺めている最中ですが、scala本家にemacsのyasnippetがUpされていて、ちょっと便利そうなのでubuntuに入れてみました。

Scala, Emacs and Yasnippet

基本は上記URLと、SVNから落としたREADMEに書いてある通りですが、ubuntu9.04にemacsが入っていなかったのでそこからスタート。

●ubuntuのSynapticパッケージマネージャで「emacs23」をインストール。
●ubuntuのSynapticパッケージマネージャで「yasnippet」をインストール。
●~/.emacs.d に snippetsディレクトリ作成。
●~/.emacs.d/snippets に scala-mode ディレクトリ作成。
●上記URLに書いてある通り、以下のコマンドでscala用snippetをダウンロード。
  $ svn co http://lampsvn.epfl.ch/svn-repos/scala/scala-tool-support/trunk/src/emacs/
●ダウンロードすると「emacs」というディレクトリが作成されている。面倒くさいので、そのディレクトリの中身を全て、さっき作った「~/.emacs.d/snippets/scala-mode」に放り込む。
●放り込んだら、「~/.emacs.d/snippets/scala-mode」で「make」を実行。
  $cd ~/.emacs.d/snippets/scala-mode

  $make
  (makeは必須ではないですが、makeしとくと読み込みが高速になります。) 


●こんな感じになっていると思います。



●ホームディレクトリに.emacsファイルが無ければ作成し、以下を記述。
;;scala snippet
(add-to-list 'load-path "~/.emacs.d/snippets/scala-mode")
(require 'scala-mode-auto)

(setq yas/my-directory "~/.emacs.d/snippets/scala-mode/contrib/yasnippet/snippets")
(yas/load-directory yas/my-directory)
(add-hook 'scala-mode-hook
        '(lambda ()
                (yas/minor-mode-on)
        ))

●保存してemacs を起動するとsnippetが使えるようになりました。

  doc と入力してTABを押すと、ドロップダウンリストが出てきて・・・


「3」キーを押すと、ファイルのヘッダを書き込んでくれます。


 ●他にも、「main」と入力してTABを押すと、
  def main(args: Array[String]) = {
                                                                   
  }
を作成してくれます。
本家サイトの
http://www.scala-lang.org/node/354
にどんな感じで使えるのか、ビデオがあるので参考になります。