Category Archives: ReSharper

ReSharper 8.2リリース – dotTrace、dotCoverもアップデート

.NETツールを3つまとめてアップデートしました。 ReSharper 8.2、dotCover 2.7、dotTrace Performance 5.5.4の登場です。 ReSharper 8.0〜8.2の主要新機能については以下のページをご覧ください。 ・ReSharper 8.2の新機能 ReSharper 8.2の主な新機能は以下の通りです: ReSharper 8.2 ReSharper 8.2ではTypeScriptサポートを大幅に強化し、スマートコンプリーション、Create From Usageクイックフィックス、Import Module コンテクストアクション、ジェネリクスサポート、エラーハイライトなどを新たに実装しました。詳しくはMore TypeScript support in ReSharper 8.2(英語)をご覧ください・ Jasmine 2.0のサポートによりReSharperのテストランナーでJavaScriptやTypeScriptの単体テスト実行が可能に クイックドキュメンテーションの修正(簡単にVisual Studioをクラッシュさせてしまう致命的なバグ修正も含む)、Xaraminをインストールしている環境で起きていたred code problem の修正など140+を超える修正 まだReSharper 8.2に対応していないプラグインについてはExtension Managerで8.2対応が完了次第通知されます。 dotCover 2.7とdotTrace Performance 5.5.4 マイナーアップデートではありますがdotCoverはVisual Studioの外でテスト実行をしたり、カバレッジスナップショットを解析するのに便利になりました。 もちろん最新のdotCover 2.7とdotTrace … Continue reading

Posted in ReSharper | Leave a 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

ReSharper 8.0.2 リリース

ReSharper 8の最新アップデート版をリリースしました。 今回の修正範囲はごく限られたもので、既にReSharper8.0.1をお使いのユーザーはアップデートをスキップしていただいて結構です。 最新版ReSharper 8.0.2はこちらからダウンロードしていただけます。ReSharper7.0をアップグレードサブスクリプション付きで2012年7月末ごろにお買い上げお客様はReSharper8.xへのアップグレード権がありますが、ReSharper8.0.1が使えないという問題がありました。ReSharper8.0.2ではこの問題を解決しております。 このライセンス管理の問題とは別に2つ(RSRP-369336、RSRP-383894)だけ修正が施されています。

Posted in ReSharper | Leave a comment

ReSharper最新オススメプラグイン

今年初めから、ReSharperのプラグインについて(英語)のブログポストを沢山書いてきました. ReSharper 8では新しいエクステンションマネージャーを備えており、プラグインのインストール、配布、ライブテンプレートの設定は一層簡単になりました。この改善で既にコミュニティのコントリビュートが増えています。中でも注目すべきプラグインをこのエントリでは取り上げます。 JetBox JetBoxはReSharperの設定をDropBox経由で同期させることができる素晴らしいプラグインです。複数のマシンで作業する方には重宝することでしょう。 DropBoxとのリンクはReSharperの設定画面より行えます。一度リンクしてしまえば設定の変更内容は随時マシン間で同期されます。 Go to Word ReSharperではGo to Everythingによりあらゆるシンボルやファイルへジャンプできます。ソリューション内の特定の単語にジャンプしたい場合はFindダイアログを使ってグローバルな検索を行います。全ての検索結果が表示されるまでしばらくご辛抱ください。でもGo to Wordを使えば待たされることはありません! Go to Wordを使えばプロジェクトファイル内のどんなテキストでも検索できます。ReSharperのキャッシュを活用しているので検索は凄まじく高速です! Visual Studioのホットキーとして設定してしまえばGo to Everythingと同じ感覚で使えます: Postfix Completion Postfix Completionはコードの文脈に応じたコード補完機能を追加します。例えば以下の例では配列の変数に対してforeachを選択すれば配列のループ構文が生成されます。 .prop ではプロパティの作成と代入を、.notnullではnull値チェックコードを生成します。ブール式に対して.whileを選べばそのブール式を使ったwhileループを生成します。このエクステンションではこのような便利なショートカットを20も追加してくれます! Utility Pack Utility Packはコードの前後関係に応じたたくさんのアクションを追加します。メソッドの複製、Abstractに変更、Virtualに変更、パラメータの引き出し、Forループの逆転、Operationとして使用、キャストの使用、String.Compareの使用、StringBuilderの使用です。 二つの文字列が同じか、String.Compareを使って確認したいといった場合はUtility Packがまさにやってくれます: 明示的なキャストよりもasを使いたい場合も簡単です! 他にも9個のアクションがUtility Packプラグインによって追加されます。是非お試しください。 Introduce Namespace Alias refactoring … Continue reading

Posted in ReSharper | Leave a comment

ReSharper 8.0.1 リリース!

ReSharper8.0の最初のアップデート、ReSharper 8.0.1をリリースしました。 130を超える修正が施されております。主な修正内容は以下の通りです: Unit test runner (フリーズ、クラッシュ、不正確なテスト状態、NUnit Test Adapterとの衝突など) Export of settings Code analysis (ダブルチェックロックの二回目のチェックが必ずtrueであると誤指摘する問題) UI (License Information ダイアログの見た目の修正) Internationalization (Move HTML to Resource が正常に動作しない) Code completion Performance (ユニットテスト実行、CSS周り) 修正内容の一覧はReSharper 8.0.1 release notesにあります。 ReSharper 8.0.1のリリースを終え、次はReShaper 8.1に向けて動き出しました。ReSharper 8.1ではTypeScriptサポート、JavaScriptサポートの改善、Project依存ビューやVisual Studio 2013連携、カスタムDPI設定周りのユーザビリティ関連問題が修正される見込みです。お楽しみに!

Posted in ReSharper | Leave a comment

ReSharper 8.0.1 EAPリリース

完璧なものは存在しません。ReSharper 8.0も然り。リリースから一ヶ月に満たないうちに多くのバグやリグレッションが発見されました。既に多くの問題は修正されており、ReShaprer8.0.1 アーリーアクセスをリリースするに至りました。60以上の修正が施されています。 修正内容の一覧はユニットテストにとどまらずフリーズやクラッシュといった重大な問題、そしてライセンス情報ダイアログボックスのUI問題までカバーしています。他にはエクスポートできない設定やコード解析のリグレッション – ダブルチェックロック内の2つ目のチェックが常にtrueであるとレポートされる問題(RSRP-358572) – などの修正もあります。 上記の現象が問題となっているようであれば是非ReSharper 8.0.1 EAPをダウンロードして、問題が確実に修正されているかどうかご確認いただければ幸いです。 8.0.1正式版リリースまでにさらに50以上の問題を修正する予定で、以降のEAPビルドに含まれていく予定です。

Posted in ReSharper | Leave a comment