Monthly Archives: January 2014

IntelliJ IDEA 13ではEclipseのコードフォーマット設定のインポートが可能に

同じプロジェクト内で複数のIDEが使われるのは珍しいことではありません。各自が好みのIDEを使えるようにすることは大事なことです。しかし共同作業をする上で、IDEの混在はしばしば困難を招きます。中でも良く問題としてあがるのがプロジェクト全体で統一すべきコーディングスタイルです。 Eclipse Code Formatterという人気のプラグインを使うと名前の通りIntelliJ IDEAでEclipseのコードフォーマットを適用することができます。このプラグインはEclipseのAPIを使うため、他の人がEclipseで編集したコードにフォーマットを合わせるという目的は十分に果たします。しかしリファクタリングやコード生成等を使う場面ではこのプラグインは働きません。 しかしIDEA 13ではもう心配無用です。プラグインを使うことなくEclipseのコードふぉまっと設定をインポートすることができます。やり方は簡単で、Eclipseで[Preferences → Java → Code Style → Formatter→ Export All]よりXMLファイルにフォーマット定義を書き出し、IntelliJ IDEAより[Settings → Code Style → Java→  Manage]よりそのXMLファイルを読み込むだけです。 現在のところ、IntelliJ IDEAは以下の設定項目のインポートに対応しています: General Right margin, Formatter on/off tags Indentation Indent size Usage of ‘Tab’ character Usage of Tab … Continue reading

Posted in IntelliJ IDEA | Leave a comment

IntelliJ IDEA 13.0.2の新しいScalaコンパイラ – 最大で25%高速化

IntelliJ IDEA 13.0.2でご利用いただけるScalaプラグインの最新版(v0.30.375)ではSBT incrementalかIntelliJ IDEA内蔵のものか、コンパイラを選べます。 後者はIntelliJ IDEAのバイトコード依存アナライザをベースにした新しいビルトインコンパイラで、Scala特有のソースコード間の依存を無視することで最大で25%の高速化を実現しています。この手法をJetBrainsでは”lower precision approach”(低精度アプローチ)と呼んでいます。なぜならパフォーマンスにフォーカスするため、幾分正確性を犠牲にしているからです。 プラグインそのものをコンパイルした際のベンチマーク結果を以下に示します: 新しいコンパイラはデフォルトで有効になっていますので、すぐにどれくらいコンパイラが早くなっているか実感出来ることでしょう。パフォーマンスよりも正確性を重視したい場合はSBTのインクリメンタルコンパイラを選択してください。 注意: 時折コンパイルが始まった際に予期せぬ、またはおかしなエラーが発生かと思いますが、その再はプロジェクト全体をリビルドしてください。それでも解決しない場合はお知らせください。 いつも通り、フィードバックは掲示板へ、バグレポートはYouTrackへお寄せください。 それではScalaプログラミングをお楽しみください! 原文

Posted in IntelliJ IDEA | Leave a comment

IntelliJ IDEA 13.0.2 リリース

IntelliJ IDEA 13の最新リリース、13.0.2をリリースしました。IDEA 12からのアップグレードをためらっていた方もそろそろアップグレードしてはいかがでしょう!? 最新盤はこちらよりダウンロードしていただけます。多くのバグ修正や改善にとどまらず、Android Studio由来の新機能もたくさん搭載しています。 変更内容について詳しくはリリースノート(英語)をご参照ください。 Develop with Pleasure! 原文

Posted in IntelliJ IDEA | Leave a comment

完璧なScalaコード解析に向けて

IntelliJ IDEA 13.0.2にバンドル予定のScala plugin (0.29.479)では誤ったエラーハイライトが出なくなります。さらに、関連テストケースがたくさん弊社のTeamCityサーバーに加えられておりますので今後のリグレッションも防げるものと期待しています。 次のステップとして、メジャーなオープンソースプロジェクトのコードで誤ったエラーハイライトがないか確認していくことです。皆様のご協力もお待ちしております。 IntelliJ IDEAのコード解析をもっともっと良いものにしていきましょう! 原文

Posted in IntelliJ IDEA | Leave a comment

PhpStormを使ったPHPアプリケーションのプロファイリング

開発中のアプリケーションが非常に遅い場合、誰かが効率の悪いコードをコミットしたのか、データベースの呼び出しを不要に行っているのか・・・疑える箇所はいくらでもあります。アプリケーションを測定する唯一の方法はプロファイリングを行うことです。PhpStormを使えば簡単です。 Webアプリケーションでも、ライブラリコードでも、ユニットテストでもプロファイリングを行えばコードを実行した際の統計情報を収集できます。たとえば実行された関数名、何回その関数が実行されたか、どの関数の実行にどれくらい時間がかかったという情報です。これによりどこを修正すべきかが明確になります。 PhpStormはPHPで良く利用される2つのプロファイラ、XdebugとZend Debuggerをサポートしています。詳しくは以下のドキュメントをご覧ください(英語): Profiling PHP applications with PhpStorm and Xdebug Profiling PHP applications with PhpStorm and Zend Debugger Develop with pleasure! – JetBrains PhpStorm チーム 原文

Posted in PhpStorm | Leave a comment

RubyMine 6.0.3リリース

RubyMine 6.0.3をリリースしました! RubyMine 6.0.3はコード補完やRuby 2.1.0のデバッグ回りの修正、そしてリモートインタプリタサポートの改善といったマイナーな修正になります。 修正内容はこちらよりご覧いただけます。“Check for Updates…”からアップデートしていただけます。 Debug Ruby with pleasure! JetBrains RubyMine チーム 原文

Posted in RubyMine | Leave a comment

WebStorm 8 EAPの提供開始

WebStorm 8のアーリーアクセスプログラムを開始いたしました。こちらよりダウンロードしていただけます。 これまでのところ、WebStorm 8のロードマップで予定しているたくさんの機能のうち数個だけ実装が完了した状態です。ぜひ皆様のフィードバックをお寄せください。今後のEAPビルドでもっともっと多くの新機能を追加していきます。 今回のEAPで実装された機能は以下の通りです: より強化されたAngularJSサポート Spy-js JavaScriptトレースツール連携 AngularJSサポートはプラグインの追加インストールなしにお使いいただけるようになりました。 AngularJSでは以下の機能がお使いいただけます: ディレクティブの補完(内蔵とカスタム) ビルトインタグのクイックドキュメンテーション(WindowsではCtrl+Q、MacではCtrl-J)、Shift-F1でAngularJSのサイトへジャンプも可能 ng-appとng-controller属性の補完(controller(‘foo’,…)という形式のdeclarative styleのみサポート) Go to symbolでフィルタやコントローラなどAngularJSの要素へジャンプ可能 Spy-js Spy-js はJavaScriptのトレースツールで、今回WebStormと連携できるようになりました。コードのトレース、デバッグ、プロファイリングにはうってつけです。イベントコールのスタックを掘り下げたり実行中のコードをエディタでハイライトしたりできます。 spy-jsは以下のようにお試しいただけます: 新しいspy-js RCを作成する node.jsパスとトレースサーバのポートを指定する default configurationを使う オプション: トレースしたいURLを指定する。ローカルのサーバでもWebStorm内蔵のWebサーバでもどんなURLでもかまいません。すべてのURLをトレースしたい場合は空欄にしておきます WebブラウザやOSでプロキシサーバとしてlocalhost:3546を使うように設定します。各OSにおけるプロキシサーバの指定方法はこちら: Windows, Mac, Ubuntu. spy-js RCを起動する トレースしたいページを開いたり更新したりする お手持ちのspy-js設定ファイルを使うこともできます。詳しくはこちらのドキュメンテーション(英語)をご覧ください。 spy-jsをローカルプロキシで利用する方法はまだ開発途上段階にあります。 WebStorm 8 EAPはこちらでダウンロードしていただけます。フィードバックなどありましたらYouTrackへご報告ください。 … Continue reading

Posted in WebStorm | 1 Comment

ReSharper 8におけるコード補完の強化

ReShaper 8においてコード補完は大幅に強化されました。このエントリではコード補完の強化ポイントを紹介いたします。 基本的なシンボルの補完 これまでインポートしていない型を補完するにはImport Completion (Shift+Alt+Space)を使う必要がありましたが、ReSharper 8では単にタイプしていくだけで補完候補に挙がるようになりました。以下のようにキャメルケースの大文字部分をタイプするだけでもしていくだけでも候補として挙げてくれます: 候補から目的のものを選択した場合、単にクラス名やインターフェース名を補完するだけでなく、ファイルの先頭に適切なネームスペース(上記の場合はSystem.ComponentModel)でusing句を配置します。 シンボルの自動補完はどこでも必要な場所で働きます。例えばコードの文脈上解決できない型をタイプした時、ReSharperは考えられる場所をすべて洗い出し、タイプのネームスペースと共に適切な候補を提示します。 加えてインポートの補完は考えられるすべての型を候補に挙げるだけでなく、拡張メソッドが適用可能であればあわせて提示します。 さらに補完候補にはコードの文脈上適用可能なスタティックメンバーやコンストラクタの呼び出しなども含まれます: ダブルスマート補完(Double Smart Completion) ReSharper 8ではDouble Completionと呼ばれる新しい補完の仕組みが導入されました。これはコード補完のショートカットを2回以上叩くと別の候補セットを提示するというものです。 まず、スマート補完(Ctrl+Alt+Space)から説明します。あるクラスのメソッド内でコードを書いているとします。string型の変数に代入する場合、通常の補完ではたくさんの候補が提示されます: いくつかのメンバーはstring型を返しません!そこでスマート補完(Ctrl+Alt+Space)を使うと候補が一気に絞り込まれます: もう一度同じショートカットを押すとメンバーをstring型にする候補を提示してくれます: 上の例ではAgeプロパティはint型ですが、ダブルスマート補完によりToString()でstring型に変換するコードを補完候補をして挙げてくれました。またGetGreeting()はstringを返すため、stringが持つメソッドのうちstring型を返すもの全て(Insert()、Normalize()など)も補完候補に含めています。 それだけではありません、ダブルスマート補完は無限の可能性を秘めています。補完候補の下に2xSmartと書かれていますが、もう一回ショートカットを押すと以下のようになります: 今度はもうステップ先のstringを返すメソッドやプロパティを提示してくれました。この操作は何度でも繰り返して候補を掘り下げてくことができます。 ダブルインポート補完 usingステートメントについてはどうでしょう。プロジェクトで参照している型へのコード補完については先に説明しました。しかし使いたい型が全くプロジェクトから参照されていない場合はどうでしょう?Import Completionのショートカットはこの場合役に立ちません: しかし、もう一度ショートカットを押して”Double Import Completion”を呼び出すとプロジェクトから参照できるアセンブリを洗い出して候補としてあげてくれます: この候補を選択した場合どうなるかは想像が付くかと思いますが、必要なアセンブリを参照するようusing句がファイル先頭に追加されます。 ダブルベーシック補完 ベーシック補完ではスマート補完、インポート補完機能が働きます。 例えば参照していない型をCtrl+Space を2回押すことで候補として表示できます: ベーシック補完で面白いのはダブルコンプリーションを使うと通常はアクセスできないものも候補に挙げることです: 上記の例では、idというプライベートフィールドにアクセスするために修飾子をpublicかinternalに変更する必要がありますが、そのようなコードの変更は補完候補を選択した際にReSharperが自動的に行ってくれます。 キャスト補完とSender補完 コード補完の優れた点はまだまだたくさんありますが、他に特筆すべき機能が2つあります。一つはReSharperが変数の型について詳しい型情報を推論できている場合に働くキャスト補完です。以下にシンプルな例を挙げます: 上記はCtrl+Space を2回押した際に現れるダブルコンプリーションによって提示される候補です。候補の中からNameを選択するとemployeeをPerson型へキャストするコードに修正してくれます。 … Continue reading

Posted in ReSharper | Leave a comment