Riderの新機能

Rider 2019.3は、優れたT4テンプレート対応機能、.NET Core用のクロスプラットフォーム対応プロファイラ、Unity用のクロスプラットフォーム対応テストカバレッジを提供します。 起動速度が向上し、デバッガがDocker Composeに対応し、バージョン管理とXamarinへの対応が全面的に強化されています。

ダウンロード
無料30日間体験版

Rider 2019.3

T4テンプレートに対応

T4テンプレートに対応

皆様のご要望に応え、T4テキストテンプレートに対応しました! T4テンプレート対応 機能は、当社独自のジェネレータを基にしたプレインストール済みのプラグインとして提供されます。 

これにより、Rider内ですべてのT4テンプレートを簡単に実行、処理、デバッグできるようになりました。 エディタ内で以下を含む新しい支援機能を利用できます。

  • コードのハイライト、ナビゲーション、コード補完、入力支援、リファクタリング、コンテキストアクション、インスペクション、書式設定など、コードブロック内で豊富なC#対応機能を提供します。
  • インスペクション、入力支援、折りたたみ、対になった波括弧の自動挿入などのT4専用の機能をサポートします。
  • includeディレクティブに幅広く対応し、C#のコードを可能な限り正確に解決します。
  • インスペクション、クイックフィックス、コードのハイライト、ナビゲーションなど、あらゆる種類のディレクティブに対応します。

これらすべての機能は、WindowsmacOSLinuxで機能します。

.NET Core用のクロスプラットフォーム対応プロファイラ

.NET Core用のクロスプラットフォーム対応プロファイラ

Rider 2019.1ではmacOSとLinuxでパフォーマンスプロファイラを利用できるようになりましたが、当時はMonoアプリケーションとUnity Monoアプリケーションのみに対応していました。 このリリースでは大きな一歩を踏み出し、LinuxとmacOSで組み込みのdotTraceプラグインを使用して.NET Coreアプリケーションをプロファイリングできるようになりました。 つまり、Windows、macOS、およびLinux上であらゆる.NETアプリケーションをプロファイリングできます。

ただし、完全に対応しているのは.NET Core 3.1をターゲットとするプロジェクトだけです。 .NET Coreの一部の制限により、.NET Core 3.0以前をターゲットとするプロジェクトのプロファイリングでは、プロファイリングされたアプリケーションがまれにフリーズしたり、クラッシュしたりすることがあります。

Unityのテストカバレッジ

Unityのテストカバレッジ

当社はUnityスクリプトを作成しやすくするために意欲的な改善に取り組んでおり、リリースのたびに優れた結果を提供できるよう努めています。 今回は、Unityの編集モードのテスト向けにクロスプラットフォーム対応のテストカバレッジと継続的テストを導入しています。

心躍る新機能の一部を以下にご紹介します。

  • PlayモードのユニットテストがUnit Testランナーでサポートされています。
  • RiderがUIElementsに対応し、UXMLファイルやUSSファイルのシンタックスハイライト、コード補完、スキーマ検証を行えるようになりました。
  • .asmdefファイル対応が復活しました!
  • デバッグ用のプロセスをリストアップ中にプロジェクト名が表示されるようになりました。
  • プロジェクトを最初に読み込む際に実行されるアセット解析処理のパフォーマンスを改善しました。
  • Riderのログビューアツールウィンドウが “Clear on play” に対応しました。
  • RiderがC#8の機能を提案する際の不快なバグが解消されました。
  • リファクタリング中に.metaファイルを最新に維持する際、さまざまなエッジケース(特殊な状況で発生する事例)を考慮するようにしました。

これらは単なるハイライトにすぎません。 このリリースにはより小規模な他の修正が多数含まれています。 完全なリストは変更ログをご確認ください。

パフォーマンス向上

パフォーマンス向上

Rider 2019.3には、最近の 長期間にわたる品質改善 により IntelliJプラットフォーム に行われたすべてのパフォーマンス最適化が自動的に含まれています。 起動処理が大幅に改善され、スムーズマウススクロールが実装されました。また、多数のUIフリーズが解消されましたが、これらは重要な改善のうち、ほんの一部にすぎません。 詳細についてはIntelliJ IDEAのブログでパフォーマンス改善に関するすべての記事をご覧ください。

Docker Composeのデバッグ対応

Docker Composeのデバッグ対応

リリース2018.2ではRiderのデバッガがDockerに対応し、Dockerfileから作成されたコンテナをデバッグできるようにしました。 しかし、その当時はDocker Composedocker-compose.yml)を使用して作成されたコンテナのデバッグには対応していませんでした。

大変お待たせしました! Docker Compose対応が強化され、ついにデバッグできるようになりました! マルチコンテナのDockerアプリケーションをマウスクリックでデバッグできるようになりました。

Edit & Continueのさらなる改善

Edit & Continueのさらなる改善

Edit & Continueで実行中(一時停止中ではない)アプリケーションに変更を適用できるようになり、アプリケーションをブレークポイントで停止する必要がなくなりました。 エディタタブ上部にあるツールチップの「Apply Changes」リンクをクリックすれば、いつでも変更を適用できます。 また、Settings | Build, Execution, Deployment | Debugger | Editing during debugでは、Step/Resume/Jump to Statement の各アクションでEdit & Continueによる変更の自動適用を無効化できます。

Edit & Continueは引き続き、Windowsのみに対応しています。

デバッガの改善

デバッガの改善

デバッガのその他の部分でも多くの変更を加えました。 まず第一に、BreakpointsビューのExceptionsツリーが次のように大々的に変更されています。

  • 検索機能が折りたたまれたノードに対しても動作するようになりました。
  • Exceptionsを両方の型(User/System)と名前空間でグループ化できるようになりました。
  • メインノードに新しい名前 “CLR Exceptions” が付けられました。

また、リモートデバッグにいくつかの更新が行われました。

  • リモートデバッグを使用する際に発生する可能性のあるエラーの説明と通知が改善されました。
  • リモートデバッグ用のパスワードやパスフレーズを指定していない場合、リモートサーバーに接続する際に入力を促されます。

さらに、次のような変更も行われています。

  • 多数のデバッガアクションに新しい名前が付けられ、その動作内容がより分かりやすくなりました。
  • “Pin to top” 機能が再帰評価に対応しました。
  • “Jump to Type Source” アクションを利用できるようになりました。
  • 例外ブレークポイント用の “Just my code” オプションがMono上で非常に有効に機能するようになりました。
VCS対応の更新

VCS対応の更新

Gitのようなバージョン管理システムを操作する際のユーザーインターフェイスとユーザーエクスペリエンスの改善を試み始めました。 このリリースでは、新しいライブなdiffプレビューをコードエディタのタブで直接開けるようになり、ユーザーエクスペリエンスが向上しています。

また、デフォルトで左側に表示される新しいCommitツールウィンドウを実装しています。これにより、変更リスト、コミットの説明などを表示するために縦方向の画面スペースをより多く確保することができます。

Rider 2019.3の初回起動時にVersion Controlタブが見つからなくてもご心配なく。同じ機能は引き続き存在しますが、名称がRepositoryに変更されています。

さらに、“Compare with Current” ビューの改善とCloneダイアログの改修を行い、アクティブではないブランチをプッシュできるようにしました。

詳細については、ブログ投稿 A New Way to Commit! Introducing the Commit and Repository Tool Windows in Rider 2019.3 をご覧ください。

AWS ToolkitプラグインがRiderに対応

AWS ToolkitプラグインがRiderに対応

このリリースサイクルでは、.NET開発者向けのAWS Toolkitプラグインを最適化するために多くの労力を払い、Riderとの互換性を持たせました。

  • 定義済みのプロジェクトテンプレートを使用し、新しいAWSサーバーレスアプリケーションを作成できます。
  • AWS Lambdaをローカルおよびリモートで作成、実行、デバッグできます。 さらに、これらすべての操作をガターアイコンを使用してエディタから直接実行できるようになりました。
  • サーバーレスアプリをAWSにデプロイできるようになりました。
  • Cloud Debuggingに対応しました! クラウド内のリモートコンテナで直接AWS Fargateを使用し、ローカル環境でエミュレートすることなくAmazon ECS上で実行中のクラウド.NET Coreアプリケーションをデバッグできるようになりました。
  • このプラグインは、Riderバージョン2019.2とバージョン2019.3の両方で利用できます。

AWS Toolkit for Riderプラグインをインストールすれば、AWSサーバーレスアプリケーションの作業を開始するのに必要なものすべてが手に入ります。

Xamarin対応の強化

Xamarin対応の強化

当社はRiderをXamarin開発用の優れたIDEにし続けており、Xamarin AndroidとXamarin iOSの両方に次のような複数の素晴らしい改善を行いました。

  • JetBrains AppCodeのコンポーネントを統合することで、Mac上でのApple製デバイスやシミュレータの認識度が向上しました。
  • 接続中のApple製デバイスのリストは、ツールバーで確認できます。
  • mtouch(iOS用Monoコンパイラ)のデバイスビルドに対応しました。
  • Xamarin Androidプロジェクトで “Publish Android APK”(Android APKを公開)を利用できるようになりました(プロジェクトのコンテキストメニューで Archive or Publish アクションを探してください)。
  • Project PropertiesでAndroid固有のプロジェクトプロパティを編集できるようになりました。

また、Xamarin Formsサポートも忘れず、x:DataTypeおよびClass属性への対応などの複数の重要な修正を行いました。

C# 8サポートのさらなる改善

C# 8サポートのさらなる改善

新しいRiderのリリースでは、C# 8の処理がさらに改善されています。 改善内容には以下が含まれます。

  • notnull制約への対応を含むnull許容参照型の理解の強化。
  • ターゲットの型を指定したswitch式。
  • デフォルトインターフェースメソッドの早期対応
  • 新しいヒント "Local function can be static"(静的にできるローカル関数)と、それに付随するクイックフィックス。
  • ファイル、プロジェクト、またはソリューション内の全プロジェクトでnullable注釈や警告を有効化する新しいクイックフィックス。
  • async反復子のCancellationTokenパラメータにEnumeratorCancellation属性を追加する新しいクイックフィックス。

さらに、 "Type or type member is never used" コードインスペクションが2種類のオプションに分割されました。1つは型用のもの(Type is never used)で、もう1つは型メンバー用のもの(Type member is never used)です。

コード生成

コード生成

GenerateアクションはC# 8の詳細を理解し、次の機能で支援を行います。

  • 列挙値を徹底的にチェックする新しい "Add missing arms" クイックフィックス。
  • switch式で型パターンを生成する新しいクイックフィックスとコンテキストアクション。
  • 等値演算子/関係演算子/比較演算子を生成する際のNull可能性の考慮。

また、C#とVB.NETの等価メンバーや比較演算子を生成する際にSystem.HashCodeを使用してGetHashCodeを実装し、コードをクリーンにするのに役立つ新しいオプションが追加されました。

型名ヒント

型名ヒント

Riderのリリース2019.1で導入されたParameter Name(パラメータ名)とCode Annotations(コード注釈)のヒントにご満足いただけていたら幸いです。 このリリースではさらに対応を拡充させ、Type Name Hints(型名ヒント)を提供しています。 これらのヒントは以下で利用できます。

  • ラムダ式のパラメータ
  • パターンマッチングとタプルの分解を含むすべての変数の出現箇所
  • LINQステートメント内の範囲変数
  • メソッド呼び出しチェーン内の行末
移動と使用箇所の検索

移動と使用箇所の検索

たいていの開発者は、特定の参照がコード内で使用されている箇所を知りたい場合があります。 以前から長らく参照で “Find dependent code” アクションを実行し、その参照から型や型メンバーの出現箇所をすべて見つけることはできました。 しかし、この操作には一部制限がありました。 このリリースでは制限の一部を撤廃しました。Find dependent codeがNuGetの参照に対応し、プロジェクト単体ではなくソリューション全体に対して実行できるようになりました。

その結果、Riderはさらに提供可能な機能が増えました。

  • Quick Definitionオーバーレイツールチップをコードエディタ内の任意のシンボルで利用できるようになりました。これにより、現在のコンテキストから離れずにシンボルの定義を素早く確認できるようになりました。
  • Consuming API は “Navigate to” アクションを拡張し、特定タイプのオブジェクトをパラメータで受け取るすべてのメソッドをリストアップしたい場合に役立ちます。
  • Find dependent codeFind results ウィンドウに新しいフィルタが実装されました。
  • ソースシンボルパッケージを持つNuGetパッケージの外部ソースに移動できるようになりました。
コードスタイル

コードスタイル

このリリースでは、長らく期待されていたもう一つのご要望に対応しました。 C#の命名設定が、EditorConfigの読み込みとエクスポートに対応しました。

この大きな変更に加えて、より小規模な複数の変更が行われ、コードのスタイルをより細かくコントロールできるようになりました。

  • 初期化式の型が明白な場合にのみ明示的な型の代わりに `var` を使用したい方のために、Riderがより明白な状況を検出できるようになりました。 また、Roslynの動作に対応する “compatibility” (互換)モードが実装されました。
  • 同一グループの他の演算子でネストされた演算子のグループの優先度のみを明確にする丸括弧を追加する、StyleCopおよびRoslynと互換性のある新しいコードスタイルオプションが実装されました。 例えば、&&|| のどちらが優先されるかを思い出せない場合にこのオプションを使用すると、丸括弧により優先度を明確にすることができます。
  • Comment Code(コードのコメント化)がデフォルトでコメントにインデントを追加するようになりました。 この動作を無効化したい場合は、“Place comments at first column when commenting out code”(コードをコメントアウトする際に最初の列にコメントを配置する)という新しい設定を使用してください。
  • Autodetect indent size and value(インデントサイズと値を自動検出する)が有効な場合に、インデントを設定するオプションページに適切な通知が表示されるようになりました。

また、C#フォーマッタオプションのページにConfigure formatting(フォーマット設定)とAutodetect formatting(フォーマットの自動検出)の機能を説明する通知ツールチップが追加されました。

プロジェクトモデルの改善

Riderのプロジェクトモデルは、TypeScriptファイルなどのウェブ言語ファイルで行う任意のリファクタリングをすべてのプロジェクトファイルに拡張するようになりました。 例えば「TSクラスを個別のファイルに移動する」と、対応する.csprojファイルが変更内容で更新されます。 また、Solution Explorerの「Not Built」(未ビルド)プロジェクト状態のUXも改善しました。

.NET Core 1.* SDKのサポートを終了しました。これらのバージョンはサポート終了日を迎えたためです。

MongoDBの初期対応

RiderがMongoDBに初めて対応しました(続きを読む)。 さらに、Riderのデータベース対応をOracle PL/SQLデバッガにまで拡張し、新しいインスペクションと警告、インラインクエリの進捗インジケーター、接続エラーを簡単にGoogleで検索する方法を追加しました。

詳細については、「DataGrip 2019.3の新機能」ページをご覧ください。

ウェブ開発

ウェブ開発

これまで通り、ウェブ開発者向けに多数の改善を行っています。

  • Vue.jsのコード補完を大幅に改善しています。
  • Vue.jsプロジェクトのクイックドキュメント.
  • propTypesのないReactコンポーネントのプロパティへの対応を強化しています。
  • Angularの対応を強化しました。
  • TypeScript 3.7への対応と、JavaScript/TypeScript対応に関するその他の改善を行いました。
  • CSS/SASS対応に関して複数の更新を行いました。
  • 今後公開予定のYarn 2リリースに対応しました。

詳細については、「WebStorm 2019.3の新機能」をご覧ください。

その他の機能

その他の機能

  • さまざまなMSBuildアイテムをコード補完に認識させることで、Riderの各種プロジェクトファイル(.csprojファイル)への対応を改善しました。 また、<TargetFramework>/<TargetFrameworks>検証用のインスペクションとクイックフィックスも使用できます。
  • 定義済みの実行構成をよりスマートに生成できるようになったため、追加の移動や調整を行うことなく実行できるようになりました。 また、嫌になるような「デフォルト値」の代わりに自動生成された適切な名前が付与されます。
  • $(ProjectDir)など、launchSettings.jsonファイルで指定されるその他のMSBuildプロパティに対応しました。
  • Parameter Infoポップアップがタプルに対して有効になりました。
  • 改行削除と改行前にバックスペースを追加する入力支援機能が、トークンを分離するため、またはフォーマット規則で必要な場合にスペースを残すようになりました。
その他の機能

その他の機能

  • 識別子のハイライト表示が全面的に改修されました。C#では個別のページが用意され、プリプロセッサのディレクティブ、静的メソッド、フィールドなどに個別の色が割り当てられました。
  • 新しいNUnitインスペクションは組み合わせユニットテストとパラメータ化されたユニットテストの個々のパラメータに対応しています。
  • Expand All(すべてを展開)ボタンが左側ツールバーに復活しました。
  • 新しいリアクティブなTFSクライアントが実験的モードでリリースされました。 同機能を有効化するには、Settings | Version Control | TFVCを開いてオンにする必要があります。 これにより、「Checking for changes」アクションが劇的に高速化されます(弊社のテストでは約100~1000倍高速化されました)。 CommitアクションやHistoryアクションなどの多くの操作は、初回リリース後に新しいクライアントに移植されます。
ダウンロード
無料30日間体験版

Rider 2019.2

デバッガ

デバッガの改善

Variables” タブには ‘Pin to Top’ と呼ばれる新機能が追加されています。 この機能を使うと、最も関心のあるあらゆるオブジェクトのプロパティやフィールドにスターを付け、それらをリストの上に表示させておくことができます。 

Run to Statement’ および ‘Jump to Statement’ アクションに、エディタ内のカーソルに追従するアイコンが追加されました。

また、スタックの計算とステップで多くのパフォーマンス改善を行いました。

詳細については、「Rider 2019.2のデバッガ追加機能(Pin to Top、フローティングアクション、スタックフレームの再設計)」をご覧ください。

Xamarinサポート

Xamarinサポート

このリリースでは、XamarinによるiOS開発に役立つと思われる機能を2つ追加しています。

一つ目は、IDEから直接iOSデバイスにXamarin iOSプロジェクト用の.ipa(iOS App Storeパッケージ)ファイルを公開できる機能です。 Solution ExplorerビューでiOSプロジェクトを選択肢、コンテキストメニューを呼び出してから "Archive for Publish" 項目をクリックしてください。

二つ目は、Xamarin iOSプロジェクトのPropertiesウィンドウ(Configurations | Bundle Signing)からプロビジョニングプロファイルを管理できる機能です。

Windows Formsデザイナー

Rider 2019.2では、TelerikDevExpressSyncfusionComponentOneInfragisticsサードパーティ製コントロールを新たにサポートしています。 これらのコントロール一式をDesigner Toolboxに読み込み、それらをアプリケーションのフォームやユーザーコントロールで使用できます。 Visual Studio APIを多用する一部のDevExpressコントロールは機能しませんので、ご注意ください。 現在、回避策に取り組んでいる最中です。

また、32ビットコントロールも新たにサポートしていますので、32ビットコンポーネントをデザイナーでご利用いただけるようになりました。

詳細については、「Riderでサードパーティ製Windowsフォームを使用する」をご覧ください。

Monoアプリケーションとユニットテストのコードカバレッジ

Monoアプリケーションとユニットテストのコードカバレッジ

.NET Coreアプリケーションとテストのカバレッジ解析に加えて、Monoフレームワークを新たにサポートしました。 Linux、macOS、Windows上でMonoランタイムを使用して.NET Frameworkのユニットテストを網羅してください。

C# サポートの強化

C# サポートの強化

サポートが強化されたReSharperでC# 8.0を最大限にご活用ください。

  • Index型やRange型などのインデックス範囲に関する最新の変更がサポートされています。
  • Add range checkコンテキストアクションがSystem.Index/System.Rangeのインデックス生成をサポートし、正確なチェックを生成できるようになりました。
  • アンマネージドなジェネリック構造体をサポートしています。
  • 新しいインスペクション「Convert switch statement to switch expression(switchステートメントをswitch式に変換)」と「Convert chain of ternary expressions to switch expression(一連の三項式をswitch式に変換)」、ならびに対応する「Convert to switch expression(switch式に変換)」クイックフィックスを追加しました。

皆様からのご要望に応え、「Convert concatenation to interpolation(連結された変数を埋め込み変数に変換)」コンテキストアクションを範囲内で適用できるようにしました。

F#のサポート

F#のサポート

Code VisionがF#で機能するようになりました! この機能は、関数、値、メンバーの型推論、および宣言のVCS作者をコードエディタに直接表示します。

その他の変更は次のとおりです。

  • ReSharperのスペルチェッカーがF#のシンボルの宣言、文字列、コメントに対応しました。
  • エスケープシーケンスは文字列内でハイライト表示されます。
  • パターンマッチングで絶対に一致しないルールに適用されるハイライト表示を改善しました。
  • Find UsagesGo to Declarationは、レコードの構築コピーと更新の式に対して機能します。
  • 例外を作成する式には、New Instanceという種類の出現箇所が表示されます。
  • F# Interactiveを.NET Core SDK 2.2.300以降から実行できます。

詳細については、「GitHubのリポジトリ」をご覧ください。

UIの更新

UIの更新

LightテーマのエディタとデバッガタブがDarcula/Darkテーマに合わせて再設計されました。 これらの新しいタブのUIを気に入っていただければ幸いです。

コード補完ポップアップのUIがより分かりやすく一貫性の取れたものになり、Lightテーマで選択した要素のハイライト表示が改善されました。

このリリースではLocal Changesから直接コミットできるため、もう個別のCommitダイアログを経由する必要はありません。

Solution Explorer

Solution Explorer

Solution Explorerビューに次のような複数の更新が加えられました。

  • ソリューションフォルダの名前を変更できるようになりました。
  • ソリューション/プロジェクトファイルに対し、“Auto-scroll to source” が無効化されました。
  • Visual Studio 2019で導入されたフィルター処理済みソリューション*.slnf)をRiderで開けるようになりました。
NuGetのサポート

NuGetのサポート

Rider 2019.2では、組み込みのNuGetクライアントに次のような多数の更新を行っています。

  • パッケージをインストールした後の次の手順を明確にするため、パッケージの readme.txt を表示します。
  • XDT変換を実行する際、パッケージの要求に応じてエントリが自動的に設定ファイルに追加・削除されます。
  • Riderはプライベートフィードにアクセスするため、Azure DevOps/Artifactsで利用できるようなネイティブなクロスプラットフォーム資格情報プロバイダをサポートしています。
  • より簡単にパッケージをアップグレードできるよう、複数のプロジェクトでの複数パッケージのアップグレード処理にいくつかの更新を行いました。

詳細については、「Readme.txtのサポート、XDT変換、ネイティブな資格情報プロバイダ、Rider 2019.2におけるNuget関連のその他の更新」をご覧ください。

コードの再配置

Riderはご要望の多かったもう一つのReSharperの機能を実装しました。具体的には、ファイルレイアウトのパターンをRiderのSettings/PreferencesEditor | Code Style | C# | File Layout)で直接XAMLビューから変更できるようになりました。

ASP.NETのサポート

当社独自のaspx/ascxファイル用の‘ASP.NETコードビハインドファイル’ジェネレータを実装しました。 .aspxファイルに新しいコントロールを追加してコードビハインド(.aspx.cs)からそのコントロールにアクセスする際、ジェネレータが対応する .designer.cs ファイルを生成するようになりました。

Unityのサポート

Riderの優れたUnity統合機能は、リリースを重ねるごとに改良され続けています。 こちらがバージョン2019.2での対応内容です。

  • シリアル化したフィールド値をエディタ内に直接表示するようにしました。
  • シーン、タグ、レイヤー、入力値の補完と検証と追加しました。
  • カスタムエディタ、属性などを作成するための新しいファイルとライブテンプレートを追加しました。
  • クラス内の任意の場所でAlt+Enterコンテキストアクションからイベント関数を生成できます。
  • `Space`、`Header`、`Tooltip`のようなインスペクター属性を追加する新しいコンテキストアクションを追加しました。
  • メニュー属性で重複しているキーボードショートカット用の新しいインスペクションを追加しました。
  • Navigate Toメニューを使って、Unity内のシンボル使用箇所を検索できるようにしました。
  • テキストベースのアセットの処理パフォーマンスを大幅に改善しました。
  • Unity EditorプラグインがUnity 2019.2のバンドルパッケージとして出荷されるようになりました。もうプロジェクトにdllが含まれることはありません!

詳細については、「GitHubのリポジトリ」をご覧ください。

VCS関連の更新

VCS関連の更新

  • プロジェクトに外部からコピーされたファイルをバージョン管理対象に追加するよう促すようにしました。 
  • チェックインし忘れている可能性のあるファイルを予測します。
  • 無視ファイルの処理を改善しました。
  • Gitログを通してディレクトリの作業履歴を表示するようにしました。
  • Projectビューから選択した複数のディレクトリに対し、Gitファイルの履歴を表示するようにしました。
  • Update Project アクションの後に Update Info はLogタブとして表示されます。
  • Compare Branchesアクションを改善しました。
  • Show Diff with Working Treeアクションを追加しました。
  • Diffの “Collapse Unchanged Fragments” モードを改善しました。
  • VCS Logの列をカスタマイズできるようにしました。
  • Gitのmergeおよびcherry-pickの処理を中止できるようにしました。

詳細については、「IntelliJ IDEA 2019.2の新機能」をご覧ください。

ウェブ開発

ウェブ開発

  • Renameリファクタリングを改善しました。
  • JavaScript、TypeScript、CSS、Sass、SCSS、Lessでの重複コードを検索できるようになりました。
  • Angularのサポートを強化しました。
  • JavaScriptで提案されるコード補完の表示を更新しました。
  • 入力ミスをしたキーワードと名前のコードを補完するようにしました。
  • パイプライン演算子を新たにサポートしました。
  • JavaScriptデストラクチャリング用の新しいインテンションを追加しました。
  • デバッグ中のSmart step intoを更新しました。
  • エディタ内に型ヒントを表示するようにしました。
  • デバッガでライブラリのフレームを非表示にしました。

詳細については、「WebStorm 2019.2の新機能」をご覧ください。

データベースサポート

データベースサポート

  • 設定ファイルに適切な接続文字列がある場合に、LocalDb接続をセットアップするよう通知するようにしました。
  • 全文検索とSQLプレビューを実装しました。
  • クエリライブタイマー
  • ‘Unnecessary usage of CASE’(不要なCASEの使用箇所)インスペクションを実装しました。
  • 素早いテーブルバックアップ。
  • テーブルのコメントを表示できるようになりました。
  • Move Caret to Next Word(キャレットを次の単語に移動)の動作を制御するための新しいオプション.
  • 新しい結合項目、IS NULLIS NOT NULLがコード補完に含まれるようになりました。
  • 新しいインテンションアクション.
  • Force Refresh(強制再読み込み)アクションを追加しました。

詳細については、「DataGrip 2019.2の新機能」をご覧ください。

その他の機能

その他の機能

  • すべての接続、設定などを単一のコントロールパネルで提供する新しいServicesツールウィンドウを実装しました。
  • TextMateの言語文法を組み込むことで、シンタックスハイライトが20種類以上のプログラミング言語で利用できるようになりました。 言語の完全なリストは、Editor | TextMate Bundles以下のPreferences/Settingsで確認できます。
  • "import namespace" の提案とコード補完リストからメンバーを除外できるようになりました。
  • 新しいシステム通知は、‘Build Solution’ または ‘Run Unit Tests’ アクションが完了したときに通知を行います。
その他の機能

その他の機能

  • すべてのフィルタは、Memory allocationsexceptionsなどのタイムラインスナップショットでご利用いただけます。
  • Find in PathダイアログのScope Chooserに新しい範囲(Recently Сhanged filesRecently Viewed filesData Sources)が追加されました。
  • Build, Execution, Deployment | Unit Testing | MSTest 配下のMSTest設定ページ上に“Visual Studio path” フィールドに定義済みのオプションが追加されました。
  • 開いている階層内にあるすべての外部型を表示するボタンが追加されました。
ダウンロード
無料30日間体験版

Rider 2019.1

WinFormsデザイナー

WinFormsデザイナー

このリリースでは、WindowsフォームアプリケーションのUIを作成、監視、変更するのに役立つ待望のWinFormsデザイナーを導入しました。

WinForms Toolboxウィンドウには、フォーム領域に追加可能なコントロールが表示されます。 このToolboxには、Visual Studioと同じデフォルトのコンポーネント一式が用意されています。 さまざまなコントロールをToolboxからデザイナー領域にコピーまたは貼り付けたり、コントロールのサイズ変更や移動を行ったりできます。 また、タブの上部にある検索フィールドを使ってコンポーネントを簡単に検索できます。

新しいWindows Form Applicationプロジェクトテンプレートのほか、formsuser controlscomponents用のファイルテンプレートもご利用いただけます。

制限事項としては、Toolboxからフォーム、VB.NET WinFormsアプリケーション、サードパーティー製のコントロールへのドラッグアンドドロップはサポートされていませんのでご注意ください。

詳細については、「RiderでのWindows Formsアプリケーションの開発」をご覧ください。

Edit & Continue(編集 & 続行)

Edit & Continue(編集 & 続行)

このリリースで実装された次に待ち望まれていた機能はEdit & Continue(編集と続行)です(Windowsのみ)。 この機能は、アプリケーションがブレークポイントで停止している間にソースコードに変更を適用するのに役立ちます。 再開すると、変更は自動的にコードに適用されます。 すべてを再コンパイルした後にデバッグセッションを再起動する必要がないため、これは大幅な時間節約になります。

詳細については、「編集と続行、Just-In-Timeデバッグ、その他のデバッガの改善」をご覧ください。

クロスプラットフォーム対応のコードカバレッジ

macOSおよびLinux上でのパフォーマンスプロファイリングとコードカバレッジ

Unixシステムをご利用の皆様に朗報です。コードカバレッジパフォーマンスプロファイリングをmacOSとLinuxでご利用いただけるようになりました。 ただし、一部制限があります。2019.1では、継続的テストを含むユニットテストのカバレッジ解析は.NET Core 2.0以降のアプリケーション(ただし、Mono / Mono Unityアプリケーションを除く)でのみご利用いただけます。 現在、パフォーマンスプロファイラはMono 5.6以降およびMono Unity 2018.3以降のアプリケーション(ただし、.NET Coreアプリケーションを除く)をサポートしています。

詳細:

ブレッドクラム

ブレッドクラム

エディタのブレッドクラムがC#、VB.NET、F#ファイルをサポートするようになりました。 パンくずリストはカーソルが現在のドキュメントの構造上、どこにあるのかを素早く把握するのに役立ちます。

ソースコード内の親要素にジャンプするには、パンくずリスト内のその名前をクリックします。 C#、VB.NET、またはF#ファイル内の名前空間要素をクリックすると、その名前空間が使用されているすべてのファイルに移動できます。

パンくずリストはエディタの下(デフォルト)または上のどちらかに表示できます。

詳細については、「パンくずリスト、構造ナビゲーション、パラメータ情報ツールチップ、その他Riderにおけるエディタの改善点」をご覧ください。

ブレッドクラム

IL Viewer

ReSharperのIL ViewerツールウィンドウをRiderに導入しました! IL Viewerは、現在エディタで開いているクラスまたはメソッドのIL命令を表示します。 エディタとIL Viewerが同期するようになりました。コード内のシンボルにキャレットを置くと対応するILがハイライト表示されます(逆も同様)。 IL命令にマウスを移動すると、RiderはMSDNECMA-335標準(パーティションIII:CIL命令セット)から取得した説明を含むツールチップを表示します。

詳細については、「ガターからの静的メソッドの実行、IL Viewer、各種SDKのインストールとその他Riderにおける改善点」をご覧ください。

Xamarinサポート

Xamarinのサポートレベルを引き上げました

Xamarinアプリ開発者の皆様に朗報です。当社はVisual Studioのライセンスやインストールを必要とせず、Windows/macOS環境でのXamarin開発を実現する独自のJetBrains Xamarin SDKを作成しました。 このSDKはMicrosoft社オリジナルのSDKと同じソースを使用していますので、オリジナルのSDKと同じようにJetBrains Xamarin SDKをお使いいただけます。

もう一つの朗報ですが、RiderがXamarinと直接統合されました! この統合により、XcodeのInterface Builderを使用し、XamarinアプリケーションでmacOSプロジェクトのユーザーインターフェースを作成できるようになりました。

XamarinのAndroidサポートに2つの変更を加えました。 まず、その機能がプラグインリポジトリから入手可能なバンドル対象外のプラグインに取り込まれました。 これらの魅力的な機能すべてを手に入れるには、まずこのプラグインをインストールする必要があります。

また、RiderでAndroidプロジェクトを初めて開いた際にAndroid開発に必要なすべてのSDKをインストールできるようにする新しいAndroid SDKウィザードが搭載されました。

パフォーマンスの改善

パフォーマンスの改善

Rider 2018.3をリリース後、パフォーマンスに関するご意見を多数お寄せいただきましたので、当該部分の改善に注力いたしました。

  • XamarinのAndroidサポートを個別のバンドル対象外のプラグインに移動したため、Riderアイコンをクリックしてからプログレスバー付きのスプラッシュ画面が表示されるまでの時間が大幅に短縮されました。 また、インストーラのサイズが150MB再現されるというメリットも生じました。
  • 過去のあるリリースでは、Rider用のNGen(ネイティブイメージジェネレータ)バイナリの起動に失敗していました。 結果的として、Windows上のRiderでソリューションを開く場合は8秒余計にかかっていました。なぜなら、ランタイムでJITコンパイルプロセスを実行する必要があったからです。 現在、NGenを再び実行できるようにし、各ソリューションを開く際の8秒を取り返しました。
  • 2種類のウォームスタートの最適化を行いました。JavaScript/TypeScriptのサポートでReSharperのエンジンの使用を廃止し、プロジェクトモデルの読み込みを非同期にしました。 その結果、ウォームスタートが大幅に高速化(最大2倍)されました。
  • ReSharperの言語サービスの読み込み時間を3秒高速化するため、Early Backend Loadを実装しました。 “Reopen last solution on startup” 設定が有効になっているか、あなたが猛烈な速さでWelcome画面のソリューションを1秒未満でクリックできるのであれば違いにお気づきになるかと思います。
Razorのサポート

Razorのサポート

Razorページにあったウェブ関連言語(JavaScriptやCSSなど)に関するすべてが、<0>ReSharperエンジンからWebStormエンジンに移されました。 これにより、優れた最先端のフロントエンド技術とフレームワークのサポートを受けられるようになります。具体的には、RazorビューでEmmetがサポートされ、Angular、React、Vue.js、Meteorに対する高度なコーディング支援を利用できます。

RazorビューはReSharperのウェブサポートが使用された最後の場所であったため、現在はWebStormエンジンのみがJavaScriptとCSSを解析します。 ReSharper関連のアセンブリがRiderの起動時に読み込まれなくなったため、ソリューションの読み込み時間とRiderの起動時間の両方が高速化しました。

IIS Expressのサポート

ASP.NET Core用のIIS Express

このリリースではIIS Express内のASP.NET Coreアプリを実行し、デバッグできます。 IIS Expressをサポートするため、launchSettings.jsonのサポートも拡張されました。 必須コンポーネントも含め、IIS Expressがインストールされているかどうかを確認できる設定ページが追加されました。

また、Riderは信頼されたSSL証明書が設定されているかどうかを確認し、設定されていない場合は自己署名証明書を生成できるようにします。

詳細については、「IIS ExpressでのRiderを使用したASP.NET Coreアプリの実行とデバッグ」をご覧ください。

F#対応のRename

F#のシンボルに対応したソリューション全体のRename

F#定義シンボル対応のRenameリファクタリングが、C#プロジェクトとVB.NETプロジェクト内の使用箇所も含め、ソリューション全体<0>に対して機能するようになりました。 Riderはこの機能を提供する史上初のIDEです。

この待望のRenameリファクタリングに加え、RiderのF#にはNavigationFind Usagesのような他サブシステムの便利な新機能(ただし、これらに限定されない)が大量に提供されています。 更新内容の完全なリストは、「GitHubのページ」でご確認いただけます。

初期のC#8サポート

初期のC#8サポート

新しい言語機能のほとんどがすでにサポートされています。例えば:

  • 終了式の範囲とインデックス
  • Null-coalescing assignment(Null結合代入)
  • Switch
  • switchステートメントのタプル式
  • 静的ローカル関数
  • 非同期ストリーム
  • Null許容参照型
  • 再帰的パターン
  • using宣言

最新の言語バージョンの機能をサポートするため、null許容注釈の入力支援機能が強化されました。

コードエディタの更新

コードエディタの更新

コードエディタ回りの変更内容を簡単に見ていきましょう。 拡張されたParameter Infoツールチップでは選択したオーバーロードのXMLドキュメントが表示され、さらにカラー化が進み、その他のさまざまな改善が行われています。 WebStormとDataGripから取り込まれたインテンションは、言語インジェクションを含むファイル向けのAlter+Enterメニューで主要な機能となりました。

さらに、ReSharperの構造ナビゲーションは、RiderにおけるTabを再び素晴らしいものにしています。 TabおよびShift+Tabキーを使うと、マウスやカーソルキーを使用することなくテキストの選択領域を素早く前後に移動することができます。

コードフォーマッタに複数の有用な改善が行われました。

  • 新しい入力支援により、Backspaceでコードのインデントを解除できます(IntelliJ IDEAと同様)。
  • コードフォーマット設定をEditorConfigファイルに保存できるようにする “Export settings to .editorconfig” ボタンがあるため、 Riderを使用しない同僚と同じ設定を共有できます。
  • Systemを含むすべてのusingディレクティブを並び替えることができます。
  • usingディレクティブの並び替えは、Visual StudioとStyleCopの動作と互換性があります。

詳細については、「パンくずリスト、構造ナビゲーション、パラメータ情報ツールチップ、その他Riderにおけるエディタの改善点」をご覧ください。

膨大なユニットテスト関連の更新

膨大なユニットテスト関連の更新

当社はリリースのたびにRiderのユニットテスト対応を強化しており、2019.1も例外ではありません。

  • ユニットテストのサポートにより、パフォーマンスが向上し、メモリ使用量が少なくなります。
  • ユニットテストに関連するすべてのウィンドウに、ユニットテストのツリーをグループ化するための新しいグループ化ルールを実装しました。
  • Unit Test SessionウィンドウにはSessionプログレスバーのほか、新しい ‘Track Running Test’ モードと ‘Hide Empty Test Filters’ モードが実装されました。

詳細については、「ユニットテスト関連の改善」をご覧ください。

Unity対応の強化

Unity対応の強化

いつものように、RiderにおけるUnity対応がさらに優れたものにしました。

  • Unityエディタ用のdotTraceパフォーマンスプロファイリングを実装しました。
  • Unityイベントハンドラとして使用されているメソッドやプロパティの名前を変更すると、テキストベースのシーン、アセット、およびプレハブ内の使用箇所の名前も変更されるようになりました。
  • Unityエディタで実行中の編集モードの単体テストをワンクリックでデバッグできるようになりました。
  • パフォーマンス的に重要なコンテキストとインジケーター(Rider 2018.3で導入済み)が複数のファイルにわたって機能するようになりました。 Updateなどのメソッドから直接使用されるすべてのメソッドがハイライト表示されるようになりました。
  • プロジェクトのルートに外部フォルダを持つUnityプロジェクトのインデックス作成のパフォーマンスを改善しました。
  • ファイル内検索が参照先パッケージの内容を検索できるようになりました。
  • ECSを初めてサポートしました。ECSが暗黙的に使用している型とフィールドが、使用中としてマークされるようになりました。
  • ベクトルの乗算が最も効率的な順序で実行されることを確認するような新しいインスペクションを実装しました。
  • また、イベント関数のコード補完の強化、デバッグをクリックした際のUnityエディタの自動起動、バージョン管理システムから最新ファイルを取得した後やテスト実行前のアセットの更新などの細かな改善や修正を多数行っています。

詳細については、変更ログをご覧ください。

IDEの改善

IDEの改善

  • .NET CoreやMono SDK/ランタイムなど、IDEから直接ダウンロードおよびインストールする追加コンポーネントを選択するにはSettings/Preferencesの新しいEnvironmentページを使用してください。
  • Windows OSでネイティブなファイルダイアログが使用されるようになりました。
  • Riderがカスタムテーマをサポートするようになりました。
  • 新しいナビゲーションポップアップ “Recent Locations” では、最近アクセスしたコード位置前後の数行がコードスニペット形式で表示されます。 (ブログ
  • Riderの全設定をJetBrains Account Cloud経由で同期できるようになりました。
  • ツールセットの設定ページを再設計しました。
  • MSBuildのグローバルプロパティを設定で設定できるようになりました。

詳細については、「ガターからの静的メソッドの実行、IL Viewer、各種SDKのインストールとその他Riderにおける改善点」をご覧ください。

VCSサポート

VCSサポート

バージョン管理のサポートが複数の方法で改善されました。

  • FixupSquashアクションがVCSログに追加されました。
  • VCSログのコミットからファイルの一部のみを選び出せるようになりました。
  • 受信・送信コミットが示されるようになりました。
  • 削除された退避済みファイルは復元できます。
  • 部分的なGitコミット用の新しい ‘Uncheck all’ チェックボックスを実装しました。
  • 差分ビューアで比較対象ファイルの左右を切り替えられるようにしました。
ウェブ開発

ウェブ開発

ウェブ開発にご関心のある方は、次の新機能や改善内容にご満足いただけるかと思います。

  • Related symbolアクションを使用してAngularプロジェクトでより簡単に移動できるようになりました。
  • .vueファイル内のTypeScriptのサポートを強化しました。
  • 新しいデバッガコンソール
  • TypeScriptで書かれたCucumberテストをサポートしました。
  • 複数のリンター設定を持つプロジェクトでのESLintとTSLintのサポートを強化しました。
  • Less 3.0機能のサポート
  • JavaScriptとTypeScript用の新しいインテンションとインスペクション。

詳細については、「WebStorm 2019.1の新機能」をご覧ください。

データベースサポート

データベースサポート

  • 新しいデータベース(GreenplumVerticaSnowflakeApache Hive)に対応しました。
  • コード補完で、CREATEDROPを組み合わせた文がサポートされるようになりました。
  • パスワードをまったく保存しない新しいオプションが追加されました。
  • 新しいインスペクションをご利用いただけるようになりました。
  • データベースツリー表示に複数の更新を行いました。

詳細については、「DataGrip 2019.1の新機能」をご覧ください。

Azure Functions

Azure Functions

当社は過去数週間、Azure Toolkit for Riderのリリースに多数の改善を活発に行ってきました。 Rider 2019.1ではAzure Functions (V2)のほか、C#とF#のプロジェクトとアイテムテンプレートが新たにサポートされ、IDEから直接デバッグとデプロイを行えるようになりました。

また、SQLデータベース関連の機能を改善し、ファイアウォールルールの追加や新規データベースサーバー・新規データベースの作成を新たにサポートしました。

ウェルカム画面のチュートリアル

チュートリアル

Riderを始めるための新しい方法として、チュートリアルを導入しました。これにより、Riderの最も重要な機能を学ぶことができます。 このリリースでは、エディタのショートカットデバッグRun/Debug構成の使用VCSユニットテストに関するチュートリアルをご覧いただけます。

これらのチュートリアルは、Riderが起動した後のWelcome画面でアクセスできます。 チュートリアルは、Help | Tutorialsメニューから実行することもできます。

その他の更新

その他の更新

  • 公開機能で、ASP.NET Classic(非コア)ウェブアプリをローカルフォルダに公開、またはFTP経由で公開(Windowsのみ)できるようになりました。
  • RiderをWindowsでJITデバッガとして設定できるようになりました。
  • Run Configurations:プロジェクトの静的メソッドと実行構成を、テキストエディタのガターマークから直接実行できるようになりました。
  • より高度なプロファイリング設定により、プロファイル設定の柔軟性が増しました。
  • Webリファレンスのサポートを強化しました。
  • .NET Coreのバージョンを新規プロジェクトを作成する際に定義できるようになりました。
  • MSBuildのプロセスが何らかの理由で強制終了された場合に、自動的に該当プロセスを再起動するようにしました。

詳細については、「ガターからの静的メソッドの実行、IL Viewer、各種SDKのインストールとその他Riderにおける改善点」をご覧ください。

ダウンロード
無料30日間体験版

Rider 2018.3

Code Vision

Code Vision

Code Visionは、エディタで追加操作を行うことなくコードに関する有益な情報を確認できる新しい方法です。 このリリースのCode Visionでは、使用状況、バージョン管理情報、派生型、拡張メソッド、公開APIのほか、Unity固有のいくつかのメトリクスも表示できます。 今後のリリースでもさらにメトリクスを追加していくつもりです。

詳細については、「RiderのCode Vision:コンテキスト情報によるエディタの強化と移動」をご覧ください。

SSH経由のリモートデバッグ

SSH経由のリモートデバッグ

Rider 2018.3では、.NET Framework、.NET Core、Monoのアプリケーションをリモートでデバッグできるようになりました。 新しいアクション「Attach to Remote Process...」を使えば、リモートマシンで実行中のすべてのプロセスを確認できます。 リモートプロセスを選択するとRiderによってデバッガをアタッチされ、実行を停止したり、ブレークポイントを設定したりできるようになります。

リモートデバッグに加えて、Riderのデバッガでは以下の機能を提供しています。

  • 式評価エンジンが内部的に刷新されたため、デバッガのウォッチで最新のC#構文を使うことができます。
  • Watchesツールウィンドウでは、数値演算や逆参照などのポインタ操作がサポートされています。
  • 変数を検査する際、コンテキストメニューで数値の10進数表記16進数表記を切り替えることができます。

詳細については、「Rider 2018.3がリモートでバッグに対応」をご覧ください。

Rename Project リファクタリング

Rename Project リファクタリング

手動でプロジェクト名を変更するのは悪夢のようなものです。新しい名前を反映するには多くのコードを更新する必要があり、しかもその更新すべてを覚えておく必要があるからです。 この苦労を軽減するため、新たにRename Projectリファクタリングという解決法をご用意しました! あとからレビューすることなく、最小限の労力で名前を自動的に変更できます。

詳細については、「プロジェクト名の簡単な変更方法 – Rider 2018.3の新しいリファクタリング」をご覧ください。

Assembly Explorer(アセンブリエクスプローラー)

Assembly Explorer(アセンブリエクスプローラー)

これはReSharperには実装されていたものの、これまでRiderには実装されていなかった待望の機能です。 この機能を使えば複数のアセンブリを開き、開いているすべてのアセンブリを横断して調査できます。 この機能はSolutionビューやFile Systemビューのほか、Explorerウィンドウでビューとして利用できます。 また、参照アセンブリ用のView in Assembly Explorerコンテキストアクションは、それらのアセンブリをAssembly Explorerビューで開くのに役立ちます。

詳細については、「Rider 2019.3のAssembly Explorerとクロスプラットフォーム対応の.NETデコンパイラ」をご覧ください。

起動設定

起動設定

あるプロジェクトに1つ以上のlaunchSettings.jsonファイルが含まれている場合、Rider 2018.3はそのファイルで定義されている起動プロファイルを自動的にインポートし、必要なRun/Debug構成を作成します。

また、このリリースのエディタはlaunchSettings.jsonファイルに対応しています。 具体的にはシンタックスハイライト、コード解析、コード補完に対応しています。

詳細については、「.NET CoreのlaunchSettings.jsonを使ったRiderでのアプリの実行・デバッグ」をご覧ください。

IDEの更新

Search Everywhereポップアップが完全に再設計され、よりモダンな外観になりました。

Preferences/Settingsの新しいPluginsページが次のように更新されました。

  • IDEのプラグイン管理操作(検索、インストール、アップデート、アンインストール)が楽になりました。
  • プラグインは名前だけでなくタグでも検索でき、検索結果はダウンロード数・名前・評価・注目度・更新日で並べ替えることができます。

詳細については、「Rider 2018.3におけるSearch Everywhere、Plugins、Templatesなどの再設計」をご覧ください。

C#言語のサポート

C#言語のサポート

C#言語のサポートが大幅に改善されました。

  • インラインパラメータ名のヒントにより、エディタでのC#コードの可読性が向上しました。
  • C# 7の分解(deconstruction)への対応が改善され、インスペクションやクイックフィックスの追加や更新が行われました。 Go To Declaration/Implementationが分解宣言に対応しました。
  • パラメータ化されたNUnitテスト用の新しいインスペクション 、クイックフィックス、コンテキストアクション がたくさん追加されています。

詳細については、「ReSharper 2018.3の新機能」をご覧ください。

Visual Basic .NETのサポート

Visual Basic .NETのサポート

VB.NET 15.315.5の次の機能がサポートされています。

  • 名前付きタプルの推論。
  • 先頭の16進数/2進数/8進数の区切り記号。
  • 末尾以外の名前付き引数。
  • Private Protectedメンバーのアクセス修飾子。

インラインパラメータ名のヒントとSet Visual Basic language versionクイックフィックス(C#向けの対応する機能と同じ動きをします)を追加しました。

詳細については、「ReSharper 2018.3の新機能」をご覧ください。

ウェブ開発

ウェブ開発

このリリースでは、次のようなウェブ開発向けの新機能を多数実装しています。

  • Angularサポートの改善。
  • JavaScriptおよびTypeScriptでの複数行TODO。
  • TypeScript 3.1の機能:マッピング可能なタプル型と配列型、新しいプロパティの割り当てに対応しました。
  • null と undefined チェックの改善。
  • Node.jsワーカースレッドをデバッグできるようになりました。
  • 新しいインテンション:Extract rulesetReplace var() with its fallback valueConvert a function to a variable holding arrow functionが追加されました。
  • リンターにカスタムの重大度レベルを使用できるオプション。

詳細については、「WebStorm 2018.3の新機能」をご覧ください。

VCSサポート

VCSサポート

バージョン管理のサポートを改善し、以下の対応を行いました。

  • IDEでGitHub プルリクエストを直接管理できるようにしました。
  • Gitサブモジュールを操作できるようにしました。 Riderはプロジェクトを更新中にプロジェクト内のすべてのgitリポジトリを並行して取得します。
  • VCS Log内で高度な移動を利用できるようにしました。
  • Version ControlツールウィンドウのFile HistoryタブでDiff Preview(差分プレビュー)を表示できるようにしました。

詳細については、「IntelliJ IDEA 2018.3:GitHubプルリクエストその他」をご覧ください。

Android開発

Android開発

Riderは、AndroidをターゲットプラットフォームとするXamarinソリューションやUnityソリューションを開発されている方を支援します! Riderには、次のようなAndroid開発に役立つAndroid Studioの多数のツールや機能を搭載しています。

  • WYSIWYGデザイナーとAXML/Androidマニフェストファイルに対応したコード補完。
  • LogcatコマンドラインツールとAndroid Profiler。
  • SDK/AVD Manager、Device File Explorer、Layout Inspector。
NuGetのサポート

NuGetのサポート

このバージョンにおけるNuGet対応の改善の大部分は、内部的に行われました。 見た目で確認できる改善点には次のようなものがあります。

  • NTLM/Windows認証を使用するNuGetサーバー(Windows環境)をサポートしました。
  • ReSharpeでおなじみのFind this type on nuget.orgアクションを、未解決シンボルのAlt + Enterメニューから呼び出せるようになりました。
  • 必須パッケージを不足している場合に、新しいクイックフィックス(Install missing .NET Core Adapter)をユニットテストファイルで使用できるようになりました。
  • NuGet Completion ServiceをベースにしてNuGetウィンドウ内のパッケージ検索を改良し、高速化しました。
  • NuGet.configファイルに応じて、NuGetウィンドウにより多くのNuGetフォルダが表示されるようになりました。
  • Propertiesダイアログで、プロジェクトをNuGetパッケージにするのに必要なすべての情報を保管できる新しいNuGetページを利用できるようになりました。

詳細については、ブログ記事「不足パッケージの追加、検索の高速化、Rider 2018.3におけるNuGet関連のその他の改善」をご覧ください。

言語インジェクション

言語インジェクション

SQL、CSS、HTML、JSON、正規表現、JavaScriptその他多数の言語インジェクションが、C#の文字列リテラルに対応しました。 SQL言語のインジェクションは文字列の内容に基づいて自動的に追加されますが、//language=LANGUAGE コメントを使って任意の文字列リテラルを手動で示すこともできます。

詳細については、「C#文字列内のSQL、フラグメントエディタ、コンソール内でのクエリ実行 – Rider 2018.3での言語インジェクションの更新」をご覧ください。

統合されたパフォーマンスプロファイラ

Riderにパフォーマンスプロファイラが統合されました。 現在、Windowsではプロファイリング機能を利用できますが、Linuxではパフォーマンススナップショットを分析できるだけです。

詳細については、「dotTraceを組み込んだRiderで.NETコードのプロファイリングを実行する」をご覧ください。

F#のサポート

F#のサポート

IntelliJ IDEAのフロントエンドとReSharperのバックエンドの両方で機能する新しいF#レキサーを導入しました。 いくつかの既存機能で必要とされていたこのレキサーによって、この言語のサポートをさらに改善することができます。

このリリースでは、新しいバックエンドのレキサーが多数のハックを除去するのに役立ちます。 このリリースではReSharperのバックエンドをフル活用し、次のような素晴らしい機能を適切な方法で実装しています。

  • 括弧、引用、およびEnterを押した際の自動インデントに対応した新しい入力支援。
  • ローカルシンボルに対応したRenameリファクタリング。
  • 未使用のopenを検索する新しいインスペクションと、対応するクイックフィックス。

さらに、Find Usagesで新しいグループ化の種類を利用できるようになりました。判別共用体のケースの使用箇所を検索する際にはNew instance creation(新しいインスタンスの作成)とPattern(パターン)、型の使用箇所を検索する際にはType specifications(型指定)を利用できます。

プロジェクトとファイルのテンプレート

プロジェクトとファイルのテンプレート

次のような新しいプロジェクトとファイルのテンプレートをご利用いただけるようになりました。

  • UWPプロジェクトのテンプレートが追加されました。
  • Xamarin関連プロジェクトのテンプレートが更新されました。
  • app.config / web.config / appSettings.json ファイルに対応した新しいファイルテンプレートが追加されました。

詳細については、「Rider 2018.3におけるSearch Everywhere、Plugins、Templatesなどの再設計」をご覧ください。

Rider向けAWS Toolkit

JetBrains Rider向けのAzure Toolkitは、.NET開発者がRiderから直接ウェブアプリを作成・開発・設定・テスト・管理し、Azureにデプロイしやすくするオープンソースのプラグインで、ストレージRedisキャッシュ仮想マシンといったリソースと連携します。

また、Azure SQL Databaseを操作できるようになり、Cloud Shellへの対応も行いました。

詳細については、以下の記事をご覧ください。

データベースサポート

データベースサポート

JetBrains DataGripチームの協力により、Riderのデータベースサポートが次のように強化されました。

  • もう1つのNoSQLデータベース、Cassandraのサポートを追加しました。
  • 選択したオブジェクトのSQLファイルを生成できます。
  • PostgreSQLの拡張機能のサポート.
  • SQLコード補完にいくつかの改善を行いました。
  • 後置補完が導入されました。
  • 単一接続モード。

詳細については、「DataGrip 2018.3の新機能」をご覧ください。

その他の機能

  • ゼロ遅延入力を実現しました! コードの再フォーマットなどの時間のかかる作業を実行するスマートな入力支援でも、RiderのUIがブロックされることなくエディタがスムーズに応答するようになりました。 Riderのバックエンドから同期されていないすべての変更は、変更が完了した後に魔法のようにマージされます。
  • アセンブリの読み込み部分をリファクタリングして最適化を行い、ソリューションの読み込みを高速化しました。
  • 高コントラストのテーマを利用できるようになりました。
  • 要素の宣言部でCtrl+クリックすると、その使用箇所が表示されるようになりました。
  • 4つの新しいリファクタリング(Move to ResourceInline ResourceMove ResourceRename Resource)が追加されました。
  • ユニットテスト実行時の環境変数は、File | Settings | Build, Execution, Deployment | Unit Testing | Test Runnerで設定できます。
  • XSLT Debuggerを利用できるようになりました。
  • To-doカレー設定がついにコードエディタに適用されるようになり、To-do項目をプロジェクト別にグループ化できるようになりました。

詳細については、「Rider 2018.3におけるSearch Everywhere、Plugins、Templatesなどの再設計」をご覧ください。

その他の機能

その他の機能

  • Navigate | Type Hierarchy で型の継承階層を調べることができます。
  • MSBuildがインストールされていない場合にRoslynアナライザが.NET Core上で適切に動作するようになりました。
  • .editorconfigファイルでのシンタックスハイライト、インスペクション、その他の分析。
  • 独自のビルドシステムがある場合は、新しいアクションであるBuild only this project without dependencies(依存関係のないこのプロジェクトのみを構築する)が便利です。
  • MSBuildのインポートが変更された場合、プロジェクトは再読み込みされます。
  • Directory.Build.propsDirectory.Build.targetsの両方に対応しました。
  • Copy Reference(参照をコピー)を使うと、コード要素の完全修飾名をコピーできます(Edit | Copy Referenceを選択します)。
  • Tab/ShiftTabのインデント挿入操作が、Visual Studioと同様の動きをするようになりました。 TabShiftTabを押すと、コードが最も近いインデント位置に揃えられます(インデントがスペースで設定されている場合)。
  • Open in RiderアクションがFile Explorerのコンテキストメニューに追加されました。 このアクションは、Windows環境でRiderがインストーラ経由でインストールされた(かつToolbox App経由ではない)場合にのみ機能します。

詳細については、「Rider 2018.3における.editorconfigの更新、追加のビルドオプション、Roslynサポートの改善」をご覧ください。

Unityに対するその他の大規模な更新

Unityに対するその他の大規模な更新

このリリースではUnity対応が大幅に改善され、心躍るようないくつかの新機能が追加されました。

まず、パフォーマンスインジケーターを導入しました。 RiderはUpdateFixedUpdateLateUpdateなどの各フレームで呼び出されるイベント関数のほか、コルーチンメソッドをハイライト表示します。

次に、Find UsagesをUnityのシーン、アセット、プレハブから取得したデータを使って拡張しました。 イベントハンドラとして使用されるクラスやメソッドを検索する際、Riderは型、コンポーネント名、親のゲームオブジェクトごとにそれらのUnityファイル内での使用箇所を表示します。 さらに、項目をダブルクリックすると、その使用箇所がUnityエディタ内で直接ハイライト表示されます。

また、RiderはUnityファイルからこの情報を抽出することで、暗黙的に使用されているイベントハンドラのメソッドをハイライト表示します暗黙的な使用箇所のハイライトをエディタのガターアイコンから移動して<0>Code Vision0>のリンクに変更したため、Unityが暗黙的に使用しているクラス、メソッド、フィールドを一目で確認できます。 また、リンクをクリックするとUnityファイル内の使用箇所も検索できます。

デバッガのUnity対応がさらに進み、Unityオブジェクトの追加データを表示できるようになりました。 また、デバッガはECSジョブのネイティブなコンテナを調べる際に役立つ、生のポインタに関するデータも提供します。

ダウンロード
無料30日間体験版

Rider 2018.2

デバッガの機能強化

デバッガの機能強化

Riderが最新のC#で実装されている機能(ジェネリック型async関数名コンストラクタ、静的メソッド)を使用するコールスタックや型に関するその他の情報をわかりやすく表示できるようになりました。

マルチスレッド対応コードのデバッグを単純化するため、スレッド固有のブレークポイントを追加しました。 特定のスレッドのみで(コンテキストメニューを使用して)ブレークポイントを編集し、一時停止できます。 このブレークポイントはあなたが関心のある特定のスレッドに到達した場合にのみヒットします。

デバッガには、次のような他の更新も行われています。

  • 安全でないポインタのインスペクションと展開がサポートされるようになりました。
  • Smart Step Into[DebuggerStepThrough] 属性で修飾されたメソッドを正しく処理できるようになりました。
  • Debugger.NotifyOfCrossThreadDependencyがサポートされるようになりました。
  • デバッガを一時停止するたびにデバッガツールウィンドウですべてのウォッチを自動的に更新するオプションを追加しました。
  • Memory Viewウィンドウで型がCLR形式ではなく、C#形式でフォーマットされるようになりました。

詳細については、「より有意義なコールスタック、スレッド固有のブレークポイント、その他のデバッガの改善」をご覧ください。

IISまたはFTPへの公開

IISまたはFTPへの公開

Riderに2種類の実行構成(Publish to IISおよびPublish to custom server)が新たに導入されました。 どちらの実行構成もASP.NET Core Webアプリケーションをローカルサーバーやリモートサーバーにデプロイする目的を果たしますが、その実行方法は次のようにそれぞれ異なっています。

  • Publish to IISMSBuildMSDeployを使ってパッケージを作成し、アプリケーションを公開します。 この実行構成タイプを使うとASP.NET CoreWebアプリケーションをローカルおよびリモートのIISKuduAzure Web Apps)にデプロイし、MSDeployパッケージを作成できます。 プロファイルを公開すると、.pubxmlファイルが作成されます。
  • Publish to custom serverMSBuildとRider組み込みのツールを使ってアプリケーションのアーティファクトをアップロードします。 この実行構成タイプはFTPFTPS/SFTPを使用したアプリケーションの取得に対応しています。 Windows、Mac OS XLinuxに対応しています。

現在、ASP.NET Core Webプロジェクトの公開のみに対応しています。 また、Publish to IIS実行構成タイプを使ったIISへのデプロイはWindowsのみで動作します。

詳細については、「Riderを使ったASP.NET Core WebアプリケーションのIIS、FTPなどへの公開」をご覧ください。

Dockerのデバッグ対応

Dockerのデバッグ対応

Riderがローカル(LinuxDockerコンテナ内のASP.NET Coreアプリをデバッグできるようになりました。 デバッガをDockerコンテナにアタッチすると、ほぼ本番環境に近いLinux Dockerコンテナでローカルにアプリケーションを検証することができます。

ローカルマシンをデバッグする場合と同様に、Riderでは変数、スタックフレーム、スレッドを検査し、あなた独自のコードやデコンパイル済みのサードパーティコードの両方をステップ実行することができます。

現在、Linux DockerコンテナではASP.NET Core Webアプリケーションのみをデバッグできます。 RiderではDockerfileから構築されたコンテナをデバッグできますが、Docker composedocker-compose.yml)を使って作成されたコンテナのデバッグには未対応です。

詳細については、「ローカルDockerコンテナ内のASP.NET Coreアプリのデバッグ」をご覧ください。

Solution Explorerの再設計

Solution Explorerの再設計

新しいツールバーを使うと、簡単にオプションを切り替えてすべてのファイルを表示することができます。これによってプロジェクトモデルに含まれないその他のファイルがすべて表示されます(茶色でハイライト表示されます)。 次の2つのボタンを使うと、Solution Explorerとエディタを同期することができます。 Autoscroll to sourceはエディタで選択したファイルを表示し、autoscroll from sourceはあるファイルから別のファイルに移動するたびにファイルを選択します。

Rider 2018.2ではSolutionビューに加えてFile-systemビューを導入しています。このビューは、ソリューションファイル配下の実際のファイルシステムの構造を表示します。 インデックスなしでマークされたアイテムは、グローバルテキスト検索やToDoインデックスのようなインデックスをベースとする機能から除外されます。 また、スクラッチビューをSolutionビューFile-systemビューの両方にマージしました。これによって、最近作成したスクラッチファイルに簡単にアクセスできるようになりました。

カスタムファイルのネスティングを非常に簡単に設定できるダイアログを追加しました。 このダイアログは、SDKベースのプロジェクトファイルと旧形式のどちらでも追加要件なしで同様に機能します。 Rider 2018.2では、新しい親ファイルにネストさせるファイルからドラッグアンドドロップすることでファイルのネスティングを適用することもできます。

最新バージョンでは、フォルダを常に上に表示するオプションも追加されています。一部のユーザーにはそのほうがより自然な表示に感じられるかもしれません。

詳細については、「Rider 2018.2におけるSolution Explorerとプロジェクトモデルの改善」をご覧ください。

コード補完

コード補完の改善

RiderがReSharperの統計ベースのスコアリングアルゴリズムを使用してコード補完を行うようになりました。 このコード補完に関わる重要な変更には、Riderが所定のコード補完候補が使用された回数を記録するようになったことが挙げられます。 ある補完候補の使用回数が増えるほど、それがコード補完を行う際に表示される確率が高まります。

コード補完を拡張し、Riderの支援を受けられると便利だと思われるいくつかの場面(スクラッチファイルデバッガのウォッチC# インタラクティブ)に対応させました。 通常のC#やVB.NETのファイルをコーディングする際と同じように、Riderはコード補完の他にもメソッド情報やパラメーターヒントのポップアップも提供します。

また、安全でないコンテキストでポインタ型のメンバーにアクセスを試み、.(ドット)の代わりに->演算子を使用しなければならない場合に便利な機能を追加しました。 危険なコードを回避するため、Riderは誤った演算子の使用を検知し、正しい演算子を代わりに使用してコードを補完します。

詳細については、「Rider 2018.2におけるコード補完の改善」をご覧ください。

ユニットテストのカバレッジと継続的テスト

ユニットテストのカバレッジと継続的テスト

RiderとReSharper Ultimateバンドルとのギャップを埋めるため、私たちはRiderをリリースするたびに最善を尽くしています。 最も需要の高い機能は間違いなくRider + dotCoverの統合でした。 さらに、Rider 2018.2はユニットテストのコードカバレッジに対応しており、継続的テストをサポートしています。 dotCoverはRiderにバンドルされるプラグインであり、Riderと一緒に自動的にインストールされます。

すべての重要な機能をご利用いただけます。

  • カバレッジツリーとコードのハイライト表示を使用した「従来型の」ユニットテストのコードカバレッジ分析ReSharper Ultimateを使えば、Visual Studioと全く同じ外観で見ることができます。
  • RiderとReSharper Ultimateの継続的テストには違いはありません。 目的のセッションで継続的テストを有効化してコードを変更し、プロジェクトをビルドまたは保存するだけです(設定に依存します)。

現時点ではWindowsのみがサポートされています。 Mono対応はまだ開発中であるため、2018.2には含まれていません。

詳細については、「ユニットテストのカバレッジと継続的テストを Riderでご利用いただけるようになりました!」をご覧ください。

Templates Explorer

Templates Explorer

ReSharperに欠けていた最も要望の多かった機能の一つがついにRiderに追加されました。 Riderの設定(Editor | Live TemplatesEditor | File Templates)で直接ライブ/取り囲み/ファイルテンプレート管理追加変更できるようになりました。

マルチファイルテンプレートの作成には未対応です。

MacBook Touch Barサポート

MacBook Touch Barサポート

他のJetBrainsの各種IDE製品と同様、RiderはMacBookのTouch Barに対応しています。 プロジェクトの実行・ビルド・デバッグ、変更のコミット、プロジェクトの更新などの多くのアクションをTouch Barから直接実行できます。 Touch Barインターフェース中央のアプリ専用のエリアには、コンテキストに応じたボタンが表示されます。 Touch Barのコンテキストとボタンは、Preferences | Appearance & Behavior | Menus and Toolbars | Touch Barページでカスタマイズできます。

また、macOSではRiderのタイトルバーをさらに暗くすることができます(Preferences | Appearance & Behavior | Appearance | select Use dark window headers)。

さらに、Riderに新しいアイコンが導入されました。 これらの見やすくシンプルなアイコンを導入した主な目的は、視覚的な混乱を減らし、ツールバーとツールウィンドウの可読性を向上させることです。

C# 7.3 サポート

C# 7.3 サポート

Riderがついに以下に挙げるC# 7.3のすべての最新機能をサポートするようになりました。

  • 初期化子およびクエリ内の宣言式
  • タプルの等値性。
  • Ref割り当て。
  • UnmanagedSystem.Delegate、およびSystem.Enum制約。
  • Stackalloc配列初期化子。
  • パターンベースのfixedステートメント。
  • 移動可能な固定バッファーのインデックス化。

構文のサポートのほか、コードをC# 7.3に対応させるための新しいインスペクションや適切なクイックフィックスを追加しました。

詳細については、「ReSharperおよびRiderにおけるC# 7.3」をご覧ください。

フロントエンド開発機能

フロントエンド開発機能

TypeScriptのサポートが強化され、最新のTypeScript 2.9/3.0リリースの全言語機能がサポートされるようになりました。 また、RiderはTypeScript言語サービス自身によって提供されるその他のクイックフィックスを提供するようになりました。

次の機能も追加されました。

  • Reactコンポーネントの抽出と変換。
  • Angular CLIとの新しい統合。
  • Vue.jsでのイベントの補完。
  • AltEnterメニュー内に多数の新しいコンテキストアクション(例:Implement interfaceCreate derived classImplement members of an interface or abstract classGenerate cases for switchIterate with for..of)が実装されました。

詳細については、「WebStorm 2018.2」をご覧ください。

ReSpellerによるスペルチェッカーの統合

ReSpellerによるスペルチェッカーの統合

このリリースでは、スペルチェック機能を提供するReSpeller拡張機能を 追加しました。 まさにコード解析と同様に、ReSpeller識別子コメント文字列リテラル、およびその他のスペルミスや入力ミスをスキャンし、クイックフィックスを提供し、検出されたそれぞれの問題を解決できます。 ReSpellerは、Riderがサポートする多くの言語に対してデフォルトで有効化されています。 設定で “typo” と検索すると、各インスペクションの有効化/無効化と、その検出結果に対する重大度の変更を簡単に行えます(最終的にPreferences | Editor | Inspection Settings | Inspection Severityにたどり着きます)。

その後、AltEnterメニューを起動すると、ReSpellerからミスを修正するためのオプションが複数提示されます。 このメニューでは入力ミスを修正したり、新しい単語を ReSpellerの辞書に追加したりできます。

スペルチェッカーにはデフォルトで英語(米国)の辞書が組み込まれています。 スペルチェッカーはHunspellベースの辞書を使用しているため、お好みに応じて追加の言語をインストールすることができます。

詳細については、Integrated spell checking with ReSpeller in ReSharper and Riderをご参照ください。

ユニットテスト

ユニットテスト

このリリースでは新機能を追加し、いくつかの最適化を施しました。

  • SDKスタイルのプロジェクト内のテストの検出と実行が高速化されました。
  • 新しいロック/ロック解除アイコンがUnit Test Sessionツールバーに追加され、余計なテストが追加されないようにユニットテストセッションをロックできるようになりました。
  • Windows上のMonoでもテストを実行およびデバッグできるようになりました。
  • Navigate ToメニューからUnit Test Explorer ウィンドウを開けるようになりました。
  • ユニットテスト関連のアクションがデフォルトのキーマップに追加されました。
NuGetのサポート

NuGetのサポート

Rider 2018.2NuGetサポートには、NuGetログのフィルタリングや書式のカスタマイズ、NuGetパッケージに問題が発生した場合の調査に役立つ高度な診断機能が含まれています。

また、AutoReferencedパッケージやTLS 1.2のみのNuGetフィードに対応しました。

project.jsonベースのプロジェクトへのサポートを打ち切りました。そのようなプロジェクトはかなり古く、前進すべき時を迎えたと思われるからです。

C# Interactiveの更新

C# Interactiveの更新

Rider 2018.2では、プロジェクトとアセンブリのC# Interactiveコンテキストメニューで新しいReference(参照)を使用できるようになりました。 これは文字通りの動作をします。C# Interactiveで選択されているプロジェクトまたはアセンブリを参照します。 Riderはloadステートメントを生成し、まとめて実行します。 C# Interactiveツールウィンドウには、現在のソリューションのプロジェクトを参照するための独自のツールバーボタンも実装されています。

RiderはデバッガのC# Interactiveへのアタッチを支援し、C# Interactiveから呼び出された際に独自のコードをステップ実行します。 もう、コードスニペットをさっとデバッグするのにコンソールアプリケーションやユニットテストを書く必要はありません。 単にプロジェクトを参照するだけで、C# Interactiveを使ってデバッグを開始することができます!

詳細については、「Rider C# Interactiveにおける参照の追加とコードスニペットのデバッグ」をご覧ください。

F#のサポート

F#のサポート

ファイルテンプレートがF#プロジェクト内で動作するようになり、ボイラープレートコードを使ったファイル生成がC#の場合と同じくらい簡単になりました。

FSharp.Compiler.Serviceが更新され、F# 4.5のいくつかの機能や変更点を受け付けるようになりました。そのうち、最も重要なものは次のとおりです。

  • Spanのサポート。
  • match!キーワード。

最後に付け加えますが、次のF# 4.1の機能を含め、C#プロジェクトとの相互運用性が改善されています。

  • レコード共用体構造体注釈
  • 暗黙的なモジュールのサフィックス。
Unityサポートの改善

Unityサポートの改善

Riderの優秀なUnityサポートがさらに優秀になりました!

Unityのアセンブリ定義ファイル.asmdef)がフルサポートされるようになりました。具体的には、JSONスキーマの検証、コード補完、Find UsagesRenameリファクタリング、参照要素での移動AsmDefファイルテンプレート、自己参照およびファイル名/アセンブリ名の不一致に対応したインスペクション/クイックフィックスをサポートしています。 また、RiderはRoslynのC#コンパイラ応答ファイル(csc.rsp)もサポートしています。

UnityPlayモードでフォーカスを受け取ったときにUnityによるアセンブリの再読み込みを無効化するオプションを追加しました(Unity 2018.2は同じオプションが元々実装されているため、2018.2より前のバージョンを対象としています)。

今後はRiderでUnity Editor/Playerログを直接開き、似たようなエントリーをフィルタリングしたり折りたたんだりできるアクションを実行できます。 すべてのコマンドは、Unity Logツールウィンドウの歯車メニューから使用できます。

コード解析が大幅に改善されました。 Unityコードを改善する多数の新しいインスペクションや適切なクイックフィックスが実装され、Unityの型におけるthis == nullに対する不正な警告をはじめとする多数のバグ修正を行いました。

これらすべてに加えて、リモートプレイヤーのデバッグ対応が改善され、PackagesノードとScratchesノードがUnity Explorerに追加されました。

その他の機能

その他の機能

  • 新しいGenerate GUIDアクションを使えるようになりました。
  • .rulesetファイルの初期サポートを導入しました。 File | Settings | Editor | Inspection Settingsに移動してRead settings from editorconfig and project settingsチェックボックスを選択するとこのサポートを有効にできます。
  • stylecop.jsonの設定が無視されなくなり、解析中に考慮されるようになりました。
  • VCSサポートが拡張され、新しいマージ競合ノードを使ったより簡単な競合の解消とマージ、VCS Logタブの機能強化、特定のリビジョンに基づいたリポジトリ状態の調査といった複数の新機能が実装されました。
  • Settingsでファイル拡張子に対応したカスタムツールを指定できるようになりました。
  • C#とVB.NETでParameter InfoポップアップとIntelliSense用のSummaryツールチップ の色を追加しました。
  • Buildツールウィンドウのツールバーで、Build, Execution, Deployment | Toolset and Build設定ページに移動できるBuild設定アイコンが追加されました。
  • 独自のパラメータをランタイムに渡すため、Run/Debug Configurationの.NET関連テンプレートにRuntime argumentsフィールドが追加されました。
  • Find UsagesタブでRe-runアクションを使えるようになりました。

詳細については、「RiderでのGUIDの生成、色付きパラメータ情報、Rider 2018.2の独自ランタイム引数」をご覧ください。

ダウンロード
無料30日間体験版

Rider 2018.1

Roslynアナライザのサポート

Roslynアナライザ

Riderは、すべてのサポート対象言語でエラーやコードの臭いを検出するのに役立つ2400個以上のコードインスペクションを提供しています。 このリリースサイクルではRoslynアナライザを使用し、コードの品質を改善するための能力をさらに強化しました。 NuGetや.csprojの参照を介してプロジェクトにRoslynアナライザをインストールしている場合、Riderはエディタ内でそれらをハイライト表示し、(可能な場合に)AltEnterメニューから素早くアクションを適用できるようにします。

Roslynアナライザのサポートはデフォルトで有効になっており、ソリューション全体解析に含まれています。 関連する設定は、Editor | Inspection Settings | Roslyn Analyzers配下で調整できます。 すべてのアナライザには設定可能な重大度レベルが備わっています。これらの重大度レベルは必要に応じてコンテキストメニューかAltEnterポップアップで調整できます。 ガター内の電球にはRoslynのロゴが表示されるため、Roslynのコード解析とRiderのコード解析を区別できるようになっています。

詳細については、「Rider 2018.1 EAPにおけるRoslynアナライザのサポート」をご覧ください。

RiderにおけるEntity Frameworkのサポート

Entity Framework

Rider 2018.1では.NET Frameworkプロジェクトで初期のEntity Frameworkサポートを導入しました。 このサポートはTools | Entity Frameworkで提供しており、以下の機能を含んでいます。

  • 最も一般的なEntity Frameworkのバージョンである6.0~6.2をサポート。
  • Initial SetupEnable MigrationsAdd MigrationGet MigrationsUpdate Databaseの各アクションをダイアログボックスで提供。
  • ダイアログボックス内のフィールドに対するスマートコード補完では候補リストが絞り込まれ、適用可能なプロジェクト、タイプ、および名前のみを表示されます。

詳細については、「Rider 2018.1におけるEntity Frameworkのサポート」をご覧ください。

UnityゲームビューツールバーとUnity Logsツールウィンドウ

Unityとのより深い統合

RiderのUnityへの対応は、リリースのたびに強化されています。 このリリースサイクルでは、RiderとUnity Editor間のコンテキスト切り替えに要する時間を削減することに注力しました。

Playモードに切り替えて、Riderから一切離れることなく1つのフレームを一時停止したり、ステップ実行したりすることができます! 新しいツールバーにはUnityエディタの同じボタンに対応し、Unityエディタと同じ動作を制御するゲームビューボタン、PlayPause、およびStepボタンが含まれています。 ステータスバーの新しい小さなUnityアイコンは、Unityエディタが接続されているか、再読み込み中か、またはPlayモードになっているかを示します。 Edit modeでRiderに適用された変更は、即座にUnityエディタに送信されます。

リンク付きのスタックトレースを含む新しいUnity Logsツールウィンドウでは、Unityエディタのコンソールに記録されているものと同じイベントを調査できます。 これにより、カテゴリ別(エラー、警告、またはメッセージ)にフィルタリングしたり、記録された時間に基づいてイベントを非表示にしたりすることができ(PlayまたはEditモード)、ログエントリに記述されているソースファイル、クラス、メソッド、またはプロパティに簡単に移動できます。 Unity Logsは、Playモードに切り替わるたびに、自動的にその出力を消去します。

Rider 2018.1では、Unity Test Runnerもシームレスに統合しています。 RiderからUnity固有のテスト結果を調査し、結果を絞り込み、スタックトレースをクリックしてコードに遷移できます。

最後に付け加えますが、使い慣れた操作感を維持できるよう、Unity Editorのアセットビューを複製するUnity Explorerビューを追加しました。

詳細については、以下の記事をご覧ください。

XAMLプレビュー

XAMLプレビュー

Rider 2017.3で実装されたWPFアプリケーションのプロジェクトタイプに不足していたものが補完されました。XAMLコードの変更結果をプレビューできる仕組みが実装されました。

Tools | XAML PreviewXAML Previewの設定を行えるようになりました。 この設定ではプレビューをオフにしたり、描画される画像の品質を設定したり、透明度を調整することができます。

詳細については、「RiderのWPF向けXAMLプレビューツールウィンドウ」をご覧ください。

デバッガのメモリビュー

デバッガのメモリビュー

Memory View(メモリビュー)という新しいデバッガの機能を使うと、アプリケーションの内部を確認し、デバッグしながらマネージヒープを調査し、アプリケーションのメモリ空間に対するコードの影響を把握することができます。

デバッガがブレークポイントにヒットすると、Debuggerツールウィンドウの独立したタブにMemory Viewを開くことができます。 Riderはヒープ内の合計オブジェクト数を型名や消費バイト数でグループ化して表示します。 クラス項目をダブルクリックすると、独立したウィンドウにすべてのインスタンスが表示されます。 また、コードエディタから任意のクラス宣言上でAltEnterを押してShow instances of classを選択しても同じ画面を表示することができます。

Memory Viewはすべての.NET Framework(4.5以降)と.NET Coreで動作します。 Monoには未対応です。

詳細については、「Memory View – Rider 2018.1でデバッグしながら.NETのメモリを調査」をご覧ください。

アクション内のExceptionポップアップ

その他のデバッガの更新

Riderのデバッグ機能に相当数の素晴らしい改善が行われました。

  • 新しい例外ポップアップではより簡単に例外の詳細を確認できるようになりました。 このポップアップは発生した例外に関する基本的な情報を表示し、ハイライト表示された例外のスタックトレースを素早く検索できるようにします。 また、ポップアップ内から直接例外のブレークポイント設定を変更できます。
  • Smart Step IntoJump to Statementが集約され、これによって実行済みの呼び出しを再度実行できるようになりました
  • シンボルサーバーをサポートすることで、シンボルやシンボルサーバーの動作を設定できるようになりました。 具体的には、Build, Execution, Deployment | Debugger | Symbolsで設定できます。
  • RiderがDebugツールウィンドウのVariableビュー(別名「locals」)に戻り値のローカル変数のソースコードを表示できるようになりました。
  • デバッガのAttachウィンドウが、権限の昇格が必要な場合にプロセス名とIDを表示し、権限の昇格を提案するようになりました。 (注意:現在、これはWindows上の.NET Frameworkのみに動作します。)
  • ローカルプロセスへのアタッチが高速化されました。

詳細については、「例外ポップアップ、Smart Step Intoの改善、シンボルサーバー、Rider 2018.1 EAPにおけるデバッガに関するその他の更新」をご覧ください。

NuGetの改善

NuGetのプライベートフィードに対する認証のサポートを複数の方法で改善しました。

  • パッケージの復元が必要なソリューションを初めて読み込む際、Riderが認証プロンプトを自動表示し、Riderのパスワードストアに資格情報を保存するようになりました。
  • また、Rider 2018.1にはMyGetVisual Studio Team Services (VSTS)のような一般的なNuGetホスティングソリューションに対応した組み込みの資格情報プロバイダが実装されています。
  • カスタムの資格情報プロバイダを追加することもできます。 独自の資格情報プロバイダを作成したい方のために、GitHubにRider用のNuGet資格情報プロバイダプラグインの例を公開しています。

関連する変更として、NuGetの一括操作を初めてサポートしました。 NuGet Packagesタブのツールバーにある新しいボタンをクリックすれば、ソリューション内のすべてのパッケージを更新できます。 また、すべてのプロジェクトまたはいくつかのプロジェクト用にインストールされた任意のパッケージを必要なバージョンまでアップデートできるほか、それをワンクリックで削除することもできます。

詳細については、「Rider 2018.1 EAPにおけるNuGetのプライベートフィードに対応した資格情報プロバイダ」をご覧ください。

ツールセットのカスタムMSBuildとビルド設定

プロジェクトとソリューションに対する理解を強化

このリリースのRiderは次の内容を実装しています。

  • JetBrainsの再配布可能なMSBuildを使用することで、Windowsマシン上に既存のVisual StudioやVisual Studio Build Toolsをインストールすることなく完全な.NET Frameworkアプリケーションを開発および構築できるようになりました。 Build, Execution, Deployment | Toolset and Build | Use MSBuild versionカスタムMSBuildを指定できます。
  • ウェブリファレンスに対応しました。Solution Explorerでウェブリファレンスを表示し、WCFのウェブリファレンスをURLで発見・追加し、既存のウェブリファレンスを削除できるようになりました。
  • ウェブサイトプロジェクトを開いて実行できるようになりました。移動、リファクタリング、コード解析などにも完全に対応しています。
  • .NET Coreソリューションでプロジェクトのプロパティを編集するUIを追加しました。
  • MSBuildの発見と自動検出の精度が向上しました。

詳細については、以下の記事をご覧ください。

Solution ExplorerがF#プロジェクト向けに依存関係の順序に対応

F#サポートの進化

F#プロジェクトでは、ファイルが依存関係の順序に並べ替えられ、Solution Explorerでファイルの並び順をドラッグアンドドロップで変更できるようになりました。 ファイルの並べ替えは複数のファイルに対応しているため、複数のファイルを既存ディレクトリの前後に移動させることもできます。

F#スクリプトの作成機能も次のように改善されています。

  • コード補完、ハイライト表示、解析も期待通りに動作します。
  • Search EverywhereGo to SymbolGo to File MemberFind UsagesViewing File Structureのような移動コマンドもすべてスクリプトに対応しています。
  • #rおよび#loadディレクティブ内のファイルに対応したスマートなコード補完により、サブディレクトリ内の適用可能なすべてのファイルが提供され、相対パスが挿入されます。

詳細については、以下の記事をご覧ください。

C# 7.2のサポート

ReSharperから取り込まれたその他の変更点

Riderはそのルーツを忘れることなく、偉大なる兄であるReSharperの足跡をたどっています。 以下は、ReSharper 2018.1から取り込まれた機能を抜粋したものです。

  • C# 7.2に完全対応し、C#の旧バージョンへの対応を改善しました。
  • EditorConfigを使って任意の範囲(ソリューション、プロジェクト単位、指定ファイル)に対してインスペクションの重大度を設定できるようになりました。 Read settings from editorconfigオプションとSettings | Inspection Settings | Enable Code analysisで利用できるプロジェクト設定を使ってください。
  • コードフォーマットのインスペクション。Riderでコーディング中にコードフォーマットの違反をエディタ内にハイライト表示できるようになりました。 誰もがこの挙動を好むとは限らないため、これらのインスペクションはデフォルトで無効化されています。また、これらのインスペクションの一部あるいはすべてを有効化するには、Editor | Inspection Settings | Inspection Severityを開いてください。
  • StyleCopのサポートEditor | Code Style | StyleCopで設定できます。 StyleCopの設定はRider独自のコードスタイル設定を上書きする場合があります。

詳細については、以下の記事をご覧ください。

Docker composeサービス

IntelliJプラットフォームから取り込まれた変更

以下は、IntelliJ IDEA 2018.1から継承した機能を抜粋したものです。

  • Dockerのサポートが拡張され、docker-compose.override.ymlを含む複数のDocker Composeファイルを認識し、実行構成で構成ファイルを選択した直後にサービスを選択できるようになりました。
  • Replace in Pathダイアログで正規表現による置換をプレビューできるようになりました。
  • 新しく、コンパクトかつ軽量なドキュメントのポップアップが実装されました。
  • Windows環境で複数ディスプレイを使用する際のHiDPIサポートを強化。
その他のフロントエンド開発機能

その他のフロントエンド開発機能

RiderはWebStormから引き継いだ機能を拡張し続け、すぐに使えるようにしています。

このアップデートは最新のTypeScript 2.7の機能をサポートし、Implement Membersアクションを改善し、未解決プロパティ用の新しいSurround with type guardクイックフィックスを追加しています。

当社の優秀なWebStormチームの協力により、Riderで非常に簡単にパッケージマネージャを設定できるようになりました。 Node.jsおよびnpm環境設定でnpmかYarnのいずれかを選択して使用し、依存物をインストールしてスクリプトを実行する際にRiderに環境設定を使用させることができます。 yarn.lockファイルを含む新規プロジェクトを開いた際にYarnがインストールされていれば、Riderはそれを使用します。

クラス用のRenameリファクタリングで、クラス名と同じ名前のファイルを改名できるようになりました。

HTML内のクラス名でCtrl/Cmd-クリックすると、Sass・SCSS・Lessのソースコード内にある該当クラスの宣言部に移動できます。 また、コード補完ではリンク先のCSSファイル内に該当するシンボルが存在しない場合、すべてのスタイルシートのクラスとIDが候補として表示されます。

部分Gitコミットのサポート

バージョン管理の改善

小規模なコミットはレビューや変更の追跡が簡単で、問題発生時にもロールバックしやすいことは誰でも知っています。 部分Gitコミットgit add -p)を使うと、あるファイル内の選択した変更箇所のみを簡単にコミットできます。 コミットしたいコードチャンクを選択するには、Commit Changesダイアログの Diffペインのチェックボックスを使用してください。 また、左ガターの変更マーカーを使うと変更内容を既存のチェンジリストに移動したり、新しいチェンジリストを作成したりできます。

Version ControlツールウィンドウのLocal Changesタブに新しいGroup byアイコンが実装されました。このアイコンを使うと、ローカルの変更をそのディレクトリ、モジュール、またはリポジトリ単位でグループ化できます。

さらに、Riderではコミット情報内のハッシュがハイライト表示され、Logタブ内にあるこのコミットにワンクリックでジャンプすることができます。

さらに、Abort RebaseContinue RebaseSkip Commitの各アクションをGit Branchesポップアップから使用できるようになりました。

Ideologプラグイン

その他の変更

以下は、Rider 2018.1のより小規模な変更内容を抜粋したものです。

  • 新しいMSTestの設定ダイアログ(File | Settings | Build, Execution, Deployment | Unit Testing | MSTest)を実装しました。
  • open/Send Lineでツールウィンドウにフォーカスを設定する、またはSend Lineでキャレットを下に移動する、といったC# Interactive向けの新しいカスタマイズ設定を実装しました(Settings | Language & Frameworks | C# Interactiveで調整できます)。
  • IdeologプラグインをIDEからダウンロードできるようになりました。そのためには、Settings | Plugins | Install JetBrains plugins…を開いてください。
  • Scratchesビューにフル機能のコンテキストメニューが実装され、期待通りに動作するようになりました。
ダウンロード
無料30日間体験版

Rider 2017.3

サードパーティのコードをデバッグ

サードパーティのコードをデバッグ

時にはソースコードを所有していないアセンブリをデバッグしなければならないことがあるかと思います。このようなものには、まったく期待通りに動作しないコントロールのライブラリやレガシーなモジュールなどが挙げられます。 また、.NET Frameworkがどのような動作をするのかをより深く把握したい場合もあるかと思います。

Rider 2017.3は外部コードのデバッグを自動化し、無理なく行えるようにします。 Riderがデコンパイルするアセンブリをその場でステップ実行し、ブレークポイントを設定できるようになりました。 Riderにはすでに.NETデバッガと.NETデコンパイラの両方が実装されていたため、それらをシームレスに連携できるようにしなければなりませんでした。

自身が所有するコードのデバッグのみを行いたい場合は、デバッガの設定を変更してライブラリの呼び出しをステップオーバーすることができます。

詳細については、「Riderを使ったサードパーティコードのデバッグ」をご覧ください。

Smart Step Into(スマートステップイン)

Smart Step Into(スマートステップイン)

新しいデバッガアクションであるSmart Step Into(スマートステップイン)を使用すると、メソッドチェーンとネストされたメソッド呼び出しをより簡単にデバッグできます。

このアクションはある行内にある特定の呼び出しを選択してステップインし、他のすべての呼び出しをステップオーバーするのに役立ちます。 例えば Print(Filter(people, BuildPredicate(x => x.Feature, "smth"))); のような行をデバッグする場合、Filter() に限定してステップインできます。

詳細については、「Riderのスマートステップインを使ったデバッグ」をご覧ください。

デバッガはVariablesビューに戻り値を表示します

localsでの戻り値

多くの要望に応えるため、Riderでコードをステップ実行する際にDebugツールウィンドウのVariablesビュー(別名「locals」)に関数の戻り値を表示できるようにしました。

これは、メソッドが別のメソッドの戻り値を返す場合やメソッドチェーンを使用する場合など、メソッド呼び出しの結果がローカル変数に保存されない場合に役に立ちます。

詳細については、「Rider 2017.3における非同期コールスタックとその他のデバッガの改善」をご覧ください。

デバッガに関するその他の改善

Riderではその他にも次のようなデバッガの改善が多数行われています。

  • コード内の前後の位置に実行ポインタをドラッグアンドドロップできるようになり、アプリケーションを再起動することなく特定のロジックを再試行またはスキップできるようになりました。
  • 非同期関数の呼び出し元がFramesビューに表示されるようになったため、非同期の因果連鎖を復元できます。
  • Force Run To CursorSet Next Statementのようなデバッガの操作を、デバッグセッション中にAltEnterで実行できるようになりました
  • VariablesビューとWatchesビューのコード補完項目の外観が一新されました。
  • XamarinやUnityなどのMonoベースのアプリケーションをデバッグする際に、ラムダ式と拡張メソッドがサポートされるようになりました。
  • 数値型(10進数型浮動小数点型倍精度浮動小数点型)の値が評価されるようになり、期待通りに表示されるようになりました。

詳細については、「Rider 2017.3における非同期コールスタックとその他のデバッガの改善」をご覧ください。

新しいプロジェクトウィザード

新しいプロジェクトウィザード

Riderのプロジェクトとソリューションを作成するUIが多くの点で改善されました。

  • プロジェクトテンプレートがフレームワーク別にグループ化されるようになり、各フレームワークテンプレートのプロパティで言語、フレーバー、ターゲットフレームワークのバージョンを選択できるようになりました。
  • GitまたはMercurialのリポジトリを新しいソリューションと一緒に作成できます。
  • 特定の種類のアプリケーションやプログラミング言語のウィザードを検索できます。
  • WPFアプリケーションとUnity Class Libraryなど、より多くのプロジェクトテンプレートがデフォルトで利用できるようになりました。
  • dotnet newをベースにした追加のプロジェクトテンプレートを簡単にインストールできます。

詳細については、「Rider 2017.3のプロジェクトテンプレート」をご覧ください。

ユニットテスト関連の改善

ユニットテスト関連の改善

Riderの.NETユニットテストランナーが劇的に使いやすくなり、新しい機能セットが追加されました。

  • 2つの新しいアクション(Repeat Tests Until FailureおよびRerun Failed Tests In Current Session)が追加されました。
  • すべてのアクションが現在選択中のフィルタ(Failed tests onlyなど)を考慮するようになりました。 フィルタそのものはよりコンパクトに表示されるようになりました。現在のテストセッションでテストステータスが発生しなかった場合、該当するステータスのフィルタは表示されません。
  • ユニットテストツリー用にローカルショートカットが実装されました。例えばDelは選択したテストをセッションから削除し、AltShiftInsertは新しいセッションを作成します。
  • ユニットテストツリーからテストを検索する際、ノードが折りたたまれた状態で結果が表示されるようになりました。

詳細については、「Rider 2017.3におけるユニットテストの改善」をご覧ください。

C# Interactive

C# Interactive

コンパイルを待たずにC#のステートメントを実行できるC# Interactiveツールウィンドウを新たに追加しました。 これはコードを書き、所定の式が返す内容について即座にフィードバックを得ることができる簡易的なREPLベースのツールです。

新たに対話型セッションを開始するには、該当ツールウィンドウを直接開くか、AltEnterを使ってコードエディタから選択したコードを送信します。

詳細については、「RiderのC# Interactive」をご覧ください。

Unityサポートの改善

Unityサポートの改善

前述の新しいUnity Class Libraryプロジェクトテンプレートのほか、Unityプラグインが全面的に改善されています。

  • フィールドにシリアル化可能またはシリアル化不可能の注釈を付ける、および自動プロパティをシリアル化したバッキングフィールドを持つプロパティに変換するための新しいコンテキストアクションが追加されました。
  • [PostProcessScene]や他のUnity属性でマークされたメソッド内の署名チェックなど、Unityの属性に関する新しいコード検査が追加されました。
  • コード補完がリストの最上部にUnityのイベント関数を表示するようになり、属性付きフィールドの前で再び機能するようになりました。
  • シンタックスハイライトとコーディング支援が、通常のシェーダーに加えて計算シェーダーにも対応しました。
  • Unityデバッガがユーザーが処理していない例外でブレークし、コルーチンやタスクのローカル変数を評価し、ローカルのUnityプロセスにアタッチされた際に確実にブレークポイントにヒットするようになりました。 pdb2mdbが統合され、MonoデバッガがWindows固有のPDBファイルに付属するアセンブリを処理できるようになりました。
  • Quick DocumentationポップアップにUnityシンボルの外部ドキュメントへのリンクが表示されるようになりました。
構成の変換

Web.configとApp.configの変換

アプリケーションをパッケージ化する際に構成を変更する目的でよく使用されるWeb.configApp.configの変換をRiderで実行できるようになりました。

コンテキストメニューから変換を追加し、適用対象の構成(DebugまたはRelease)を選択し、変換後のファイルをSolution Explorerで親の下にネストするかどうかを選択できます。

詳細については、「RiderにおけるXDT構成の変換」をご覧ください。

フォーマッタの改修

フォーマッタの改修

ReSharperと同様に、Riderのコードフォーマットエンジンに大規模な改修を加えました。 その結果、Riderがコードの水平位置を揃え、その他の新しいコードスタイルを適用できるようになりました。 また、コメントを使って選択したコードブロックに、またはEditorConfigを使ってファイル全体に対してフォーマット処理を無効化または有効化する方法が実装されました。

詳細については、以下の記事をご覧ください。

ReSharperから取り込まれたその他の変更点

以下は、ReSharper 2017.3からRiderに取り込まれたその他の更新を抜粋したものです。

  • Extract Methodリファクタリングを改修し、C# 7を使用する際にoutパラメータの代わりにタプルを返せるようになりました。
  • 新しいC#の入力支援機能を使うと、複数行コメントを追加し、チェーン内のメソッドをインデントし、選択したコードを囲むことができます。
  • VB.NET<inheritdoc/>を使ったタプルとドキュメントの継承に対応しました。
Karmaテストの実行

その他のフロントエンド開発機能

Riderは初期状態で提供しているWebStormの機能一式を拡張し続けています。

このリリースでは、以前はオンデマンドでしか入手できず、容易に発見できなかったフロントエンド開発者向けのプラグイン一式をバンドルしています。 このプラグイン一式には、TSLint、CoffeeScript、LiveEdit、Polymer、Web Components、Pug(旧 Jade)、Handlebars、Karma、Stylus、AngularJS、spy-js、Gherkin、Cucumberをサポートするものが含まれています (この件に関連してVagrantプラグインもデフォルトで使えるようになりました)。

WebStormチームが手がけた最近のアップデートにより、JavaScript・TypeScript・CSS・Vue.jsへの対応も強化され、SVGファイルを編集する際にいつでもプレビューパネルを使えるようになりました。

さらに、パッケージ内のpackage.jsonファイルの検出機能も改善しました。これにより、多くのケースでRiderがnpmパッケージのインストールやアップデートを提案するようになりました。

.NET Coreプロジェクトのプロパティ

MSBuildとNuGet

RiderのNuGetツールがフォールバックフォルダを処理し、.csprojファイル内のPackageReferenceディレクティブに基づいてパッケージを復元し、無効化されたNuGetパッケージソースを無視できるようになりました。

プロジェクトシステムに関しては、Riderは.NET Coreプロジェクトのプロパティを編集するUIを提供し、リンクされたファイルを処理する際に追加のヒューリスティックが適用するようになりました。これにより、既存の項目を追加する際にファイルのコピー、移動、リンクの追加のいずれかを選択できるようになりました。また、リンクされたファイルをファイルシステムから削除する代わりにプロジェクトから除外するよう提案するようになりました。

関連する変更として、.NET CoreプロジェクトファイルでIntelliSenseを有効化しました。

Docker実行構成の改修

IntelliJプラットフォームの変更

RiderはそのルーツであるIntelliJプラットフォームを最大限に活用し続けます。 以下は、このリリースサイクルでIntelliJ IDEAから継承した変更を抜粋したものです。

  • 拡張子が.httpのスクラッチファイルをベースにしたエディタベースのRESTクライアント (UIベースバージョンのRESTクライアントは引き続き使用できますが、外観上の更新がいくつか行われるだけです)。
  • バージョン管理の更新では、Gitログからの対話形式のリベース、ブランチを切り替える際のワークスペースの維持、GitとMercurialのマージコミットの処理の改善などが行われています。
  • データベース関連の更新:データソースのグループ化、言語インジェクションを使った.sqlファイルでのXQuery/XPathコーディング支援その他。
  • Dockerサポートの更新。最も重要なのは、Docker実行構成の改修です。
Nullチェック設定

設定

Riderの設定が何点か改修されています。

  • Import SettingsExport SettingsManage Layersの各ダイアログでRiderの設定を確実にエクスポート・インポートできるようになりました。
  • C#のコードスタイル設定が拡張され、Riderが生成するコードでのデフォルトのNullチェックスタイルを選択するのに役立つNull Checkingタブが実装されました。
  • インスペクション重大度の設定が言語別のページに分割されました。
  • JetBrains Annotationsの設定を含む新しいページがInspection Settings配下に追加されました。

その他の変更

  • Find Usageが検索を実行中に非同期に動作して使用可能な結果を表示できるようになり、新たに使用箇所の種類別にグループ化を行うようになりました。
  • 長年のMacユーザー向けの新しいXcodeキーマップを導入しました。
  • 関連する.resxファイルを保存する際にデザイナーファイルが自動的に再生成されるようになりました。
  • Solution Explorer内のノードのコンテキストメニューが再構築され、アクションがより明確でコンパクトに表示されるようになりました。
  • JetBrains annotationsが.NET Coreに移植されました。これにより、コード検査のすべてのカテゴリー(null許容、LINQ、純度の検査)がより確実に機能するようになりました。

パフォーマンスの改善

以下のようなさまざまな場面でパフォーマンスを改善しました。

  • プロジェクトの読み込みと再読み込み。MSBuildタスクの処理を非同期にすることで、テストに使用した大規模ソリューションではプロジェクトを読み込む際の同期処理が最大で5倍高速化されました。
  • コード補完が大規模ソリューションでより高速に動作するようになりました。
  • デバッグに関しては、一部シナリオでのデバッガの起動時間に加えて大規模なコールスタックの描画が最適化されました。
ダウンロード
無料30日間体験版

Rider 2017.2

.NET Core 2.0

.NET Core 2.0

Rider 2017.2では、.NET Core 1.1に加えて新たに.NET Core 2.0に対応しました。

Riderのすべてのコード検査、ナビゲーション、クイックフィックス、リファクタリングを.NET Core 2.0で使えるようになりました。 Riderは.NET Core 2.0プロジェクトを実行・デバッグし、それらプロジェクト内で使用されているNuGetパッケージを管理できるほか、xUnit・NUnit・MSTestベースのユニットテストを実行することができます。

Riderで呼び出しと値を追跡するInspect Thisメニュー

呼び出しと値の追跡

ReSharperが提供する最も洞察に優れた機能であるCall Tracking(呼び出しの追跡)とValue Tracking(値の追跡)を実装しました。

この値がどこから来たものなのか? この値がどこで使われているのか? このメソッドが関係する呼び出しツリーは何なのか? Riderの新しいInspect Thisアクション(CtrlAltShiftA)を使うと、こういった疑問を解消することができます。 メンバー宣言とパラメータ宣言の場合、Call TrackingValue TrackingアクションをAltEnterメニューから直接呼び出すこともできます。

現在、どちらの機能もC#とVB.NETで利用できます。

エディタからMSTestベースのユニットテストを実行

MSTestのサポート

Riderのユニットテストランナーでは、これまでもxUnitおよびNUnitのテストを実行・デバッグすることができました。 Rider 2017.2では、一般的な需要に基づいてMSTestをサポート対象のフレームワークに加えました。 この中には従来のMSTest(別名:Visual Studio Testing Framework)と、登場したばかりのMSTest V2が含まれます。

MSTest V2は、特別な設定を行わなくてもWindows、Mac、Linux上で動作します。 従来のMSTestに関してはそのライセンス方法により、Riderで従来のMSTestベースのテストを実行するにはVisual Studioのインスタンスをお使いのコンピューターにインストールしなければなりません。 Visual Studioへのパスは、RiderでBuild, Execution, Deployment | Unit Testing | MSTest配下の設定を調整する必要があります。

Riderでフォルダやファイルを開く

フォルダやファイルを開く

ソリューションやプロジェクト内にすべてのコードがあるとは限りません。 この点を考慮し、Riderの起動画面とFile | Openメニューから個々のファイルやフォルダを開くためのコマンドを追加しました。

ファイルやフォルダを開く際には、HTML/JavaScript/TypeScript対応、バージョン管理、Go to FileSearch EverywhereFind in Pathといった豊富なRiderの機能を使うことができます。

既存フォルダをソリューションにアタッチする

フォルダをソリューションにアタッチする

Riderはフォルダやファイルを開けますが、任意のフォルダをソリューションにアタッチできるようにもなりました。 この操作によってプロジェクトやソリューションファイルが変更されることはなく、Solution Explorerに現在のソリューションと一緒にアタッチしたフォルダが表示されるようになるだけです。

これは、独自のフロントエンド要素とバックエンド要素を持ち、それらが別のリポジトリで管理されているウェブアプリケーションを取り扱う場合に役に立ちます。 この場合、フロントエンド要素を.NETバックエンドのソリューションにアタッチすると、フロントエンドをソリューションの構造に組み込むことなく両方の要素をRiderで編集できるようになります。

並列スタック、ラムダ式の評価、デバッガに関するその他の更新

Debugツールウィンドウに新しいタブ、Parallel Stacksが実装されました。 このタブでは、マルチスレッドアプリケーションをデバッグする際に動作中のさまざまなスレッドやそのコールスタックを可視化することができます。 あるスレッドの上にマウスを移動すると、その子スレッドがすべて表示されます。 ツールバーからは、動作中のフレームに遷移できます。 コールスタック内のエントリーをダブルクリックすると、そのソースに遷移します。 また、コードをステップ実行する際には開始/結合されているスレッドに応じてダイアグラムが更新されます。

Riderのデバッガでラムダ式をウォッチとして追加できるようになりました。 デバッガはラムダ式を評価・実行し、結果を可視化します。

大量の変数を含むアプリケーションをデバッグする際には、独自のカラーを使って変数をマークすることができます。 この操作は、コンテキストメニューかショートカットで実行できます。 変数をマークすると、変数の使用箇所(他のオブジェクトのフィールド内など)を非常に簡単に見つけることができます。

さらに、オブジェクトのプロパティに属するプロパティやコレクション内の要素などの入れ子になったアイテムにウォッチを追加できるようにしました。

Transform Parametersリファクタリング

新しいリファクタリング

私たちはReSharperで元々提供していた豊富なリファクタリングを継続的に移植しています。

そのうちの一つがTransform Parametersです。 このリファクタリングは新しいクラスや構造体を作成し、選択したメソッドのパラメータを、新しく作成された型のカプセル化されたフィールドに変換します。 このリファクタリングを適用後、パラメータの使用箇所は作成された型のプロパティを使用するように変換されます。 また、このリファクタリングはタプルオブジェクトの戻り値の型を導入することで、outパラメータを削除することもできます。

もう一つの新しいリファクタリングは、Invert Booleanです。 このリファクタリングはブール型のメンバーを自動的に反転し、truefalseに変換し、すべての使用箇所を書き換えてブール式を判定するのに役立ちます。

RiderがC# 7.1に対応しました

ReSharper 2017.2で更新されたコード解析

Rider 2017.2は、ReSharper 2017.2を.NETサポート用のエンジンとして組み込んでいます。 そのため、ReSharper 2017.2で発表された多数の機能をRiderで使えるようになっています。

例えば、C# 7.0サポート(パターンマッチングとout変数を含む)の改善、C# 7.1の初期サポートなどがあります。また、Riderが既定のリテラル、タプルプロジェクション初期化子、非同期Main、ジェネリックによるパターンマッチングをサポートするようになりました。 最新のコンパイラパッケージを参照し、プロジェクトファイルで言語レベルを設定するだけです。 このように、Riderはより高い言語レベルの言語機能が使用されているかどうかも検出し、検出された場合にそちらへ切り替えられるクイックフィックスを提供します。

また、RiderにはIEnumerable関連の新しいコード検査がいくつか追加され、XMLドキュメントの継承をチェックして妥当性を確認できるようになっています。 これによって、IDEのドキュメントと生成されるAPIドキュメントの正常性を確保します。

F#のコードの折りたたみとドキュメントツールチップ

F#サポートの進化

Rider 2017.2では複数の新機能が追加され、F#関連の改善が行わました。

例えば、SDK 1.0と2.0の両方で.NET Core F#プロジェクトを処理できるようになりました。NuGetの代わりにPaketを使用するF#プロジェクトの場合、Riderはそれらを読み込む際にNuGetを自動復元しないようになりました。 これにより、FableなどのプロジェクトをRiderで適切に読み込めるようにしています。

C#とF#が混在するコードベースで発生していた多数の課題を解決し、F#コードがC#プロジェクトで適切に表示されるようにしています。

Riderのエディタでコードを折りたたみできるようになりました。 複数行にまたがる大量の式やステートメントを折りたたんだり、展開したりできるようになりました。

選択範囲を (* and *) でコメントアウトできるComment with Block Commentアクションも実装しました。

ドキュメント検索がコーディングの邪魔をすることがなくなりました。ドキュメント化されたコードにマウスをオーバーすると、Riderがツールチップ内にXMLドキュメントコメントを表示するようになりました。

Riderでデバッグする際にマウスオーバーで式を評価し、エディタ内から変数を調査できるようになりました。

Unityシェーダーでのコードハイライトを改善

Unity開発

ゲーム開発者向けに、さまざまなUnityプロセスをデバッグできるようにしました。 Androidデバイス上で動作するゲームなど、スタンドアロン型のゲームをリモートでデバッグするためのMono Remote構成を作成できるようになりました。 また、IDEとデバッガでモジュール化されたUnityEngine dllを処理できるようになりました。

Unity対応に関連するその他の注目すべきニュースには、ShaderLabパーサーの大幅な改善があります。その結果、.cgincファイルと.shaderファイルに挿入されたCgフラグメントのコードハイライトが改善されました。 また、RiderがShaderLabファイルでカラー値をハイライト表示できるようになりました。AltEnterを押すと、カラーパレットピッカーを使ってカラーを変更できます。

新しいMonoBehaviourスクリプト、シェーダー、テスト用のファイルテンプレートを使ってUnityのコードをより簡単に生成できるようになりました。 さらに、最近のバージョンのUnityでイベント関数のコード補完と生成を行えるようになりました。

Unityのアップデートに関する詳細は、Riderのブログをご覧ください。

RiderのJavaScriptコード整形設定

JavaScriptとTypeScriptのサポート改善

より新しいバージョンのWebStormをバンドルしたRider 2017.2では、以下のようにJavaScriptとTypeScriptへの対応が拡充されています。

  • Ctrlを押したままオブジェクトの上にマウスオーバーすると、そのオブジェクトの推論型がツールチップに表示されます。
  • 改修版のJavaScriptコードスタイル設定では、コンストラクタ、フィールド、メソッドなどのクラスメンバーの並べ方を調整できます。 これらの設定を適用するには、Code | Rearrange Codeコマンドを使ってください。
  • CSSモジュールを使ってそれをJavaScriptファイルにインポートする際、Riderはそのモジュールのクラス名に対するコード補完を提供し、ナビゲーションをサポートします。
  • RiderがTypeScriptファイルを解析する際にtsconfig.jsonを検出し、考慮するようになりました。
  • Angular Material属性に対するコード補完とナビゲーションを利用できるようになりました。
  • webpackを使用する際にRiderが複雑な構成をよりよく理解し、import文とimportの提案でパスを適切に解決するようになりました。
ローカルGitコミットのメッセージ書き換え

バージョン管理の改善

Gitを使用する際にRiderでローカルコミットを取り消したり、コミットメッセージを書き換えたりできるようになりました。 この操作を実行するには、Version ControlツールウィンドウのLogタブにあるコンテキストメニューを使用します。

Version Control | Commit Dialogの設定から、コミットメッセージのルールとインスペクションをカスタマイズできるようになりました。 件名と本文の間に空行を入れますか? コミットメッセージの最大長を定義する必要がありますか? これらのルールや同様のルールを設定できます。 また、Riderはこのようなルールに対応したクイックフィックスを提供しており、コミットメッセージ内でコードを整形できるようになっています。

検索結果から直接コードを変更可能

検索結果からコードを変更可能

Rider 2017.2では、Find in PathCtrlShiftF)を使ったテキスト検索の結果の処理方法を改善しました。

同一行からの検索結果が一緒にマージされるようになりました。 また、Previewペインには行番号、ナビゲーションアイコン、コンテキストアクション、ローカル変更マーカーを表示するガターが左側に実装されました。 これにより、検索結果から直接簡単に小さな変更を行えるようになりました!

ユニットテストフレームワーク設定

その他のユニットテスト関連の改善

このリリースのユニットテストは、単にMSTestに対応しただけではありません。 以下にいくつかのハイライトを追加で記載します。

  • NUnitのテストがすべての.NET Framework、.NET Core 2.0.NET Core 1.1.でサポートされるようになりました。
  • すべてのユニットテストプロバイダに対し、フレームワーク固有の設定を微調整できる専用の設定ページが追加されました。 さらに、使用していないフレームワークを無効化できるようになりました。
  • 大規模なテスト一式や出力(改行を含む)の多いテストを含むソリューションでのパフォーマンスも改善しました。
縦レイアウトのNuGetツールウィンドウ

NuGetの更新

RiderのNuGetクライアントに多くの更新が行われました。 NuGet 4.3を内部的に使用するようになったことで、SemVer2と.NET Core 2.0に対応しました。Riderは新たにパッケージ参照でバージョンにワイルドカードを使えるようになりました。

参照パッケージが.NET Core 2.0をターゲットにしていない場合(ただし、動作することが分かっている場合)、AssetTargetFallbackプロパティを使って「予備の」ターゲットフレームワークを定義してプロジェクトの依存関係を解決することができます。 .NET Core 2.0プロジェクトはデフォルトでこのプロパティをnet461に設定しています。つまり、.NET Framework 4.6.1以降と互換性のあるすべてのNuGetパッケージは、追加設定なしで使用することができます。 Riderにはこの仕様に対する初期サポートも含まれています。

.csprojファイルを手動で編集することなくNuGetクライアント内から直接CLIツールのパッケージをインストールできるようになりました。 例えば、これはMicrosoft.EntityFrameworkCore.Tools.DotNetのEntity Framework Coreデータベース移行コマンドで役に立ちます。

一部UIの変更も行っています。例えば、パッケージの詳細ペインの位置を切り替えられるようになりました。これはNuGetツールウィンドウを縦向きに維持したい場合に便利です。 また、パッケージのアイコンが可能な限り高解像度で描画されるようになったため、画面がより鮮明に見えるようになりました。

Generateダイアログの基本メンバーの説明

その他の変更

以下は、Riderの今回のリリースで注目すべきその他の変更点を簡単にまとめたものです。

  • CSS、JavaScript、TypeScript、.config.csproj、XMLファイルでコード補完候補の精度が向上しました。
  • 複数行の補完動作が改善されました。例えば、C#で複数のテキストにキャレットを置いた状態でコード補完を呼び出すと、importが補完されるようになりました。
  • Riderでコード(欠落しているメンバーやオーバーライドするメンバーなど)を生成する際、オーバーライド済み、または実装済みの基本メンバーの説明<0>が表示されるようになりました。
  • ReSharperとIntelliJプラットフォームの両方の設定を含め、すべてのグローバル設定をインポートおよびエクスポートできるようになりました。
  • NuGetを復元中にソリューション全体解析(SWEA)を実行する意味がない場合、SWEAが自動停止されるようになりました。
ダウンロード
無料30日間体験版