Rider 2024.3 の新機能

Rider 2024.3 delivers support for .NET 9, including such C# 13 enhancements as params collections, partial properties, and the preview field keyword. The Windows Forms Designer is now available for .NET 6+ projects, along with an advanced debugging capability to freeze and unfreeze individual threads. Game developers will be happy to see console debugging for Unreal Engine, IL2CPP debugging for Unity, and improved Godot support. This release also brings expanded AI Assistant functionality, including in-editor AI prompts and customizable chat models. Enhancements for code cleanup, naming conventions, and remote development round out the release.

主な更新内容

Monitoring(監視)ツールウィンドウ

.NET 9 のサポート

最新バージョンの Rider には以下の内容が含まれています。

  • 新しい SDK のプロジェクトテンプレートのサポート。
  • 新しい SDK をターゲットにしたプロジェクトを作成、実行、デバッグする機能。
  • Support for the latest C# 13 features, such as params collections, partial properties, the field keyword preview, and others.

Rider 2024.3 で行われた C# 13 のサポート強化については、ブログをご覧ください。

Windows Forms Designer for .NET projects .NET 6.0+

Windows Forms デザイナーが .NET 6.0 以降をターゲットとするプロジェクトをサポートするようになったため、Windows Forms アプリケーションの UI を作成、表示、および変更できるようになりました。 これにより、既存の .NET Framework 用の Windows Forms デザイナーとほぼ同等の機能が得られます。

ほとんどの DevExpress コントロールには対応していますが、Telerik と Infragistics のコントロールのサポートにはまだ制限があり、VB.NET の Windows Forms アプリケーションはサポートされていないことに注意してください。

Ability to freeze and unfreeze individual threads during debugging

マルチスレッドアプリケーションをより精密に制御できるようにするため、Rider 2024.3 では個別のスレッドをデバッグ中に凍結および凍結解除できる機能を導入しています。 The feature allows you to right-click on any thread and select Freeze to pause its execution without affecting the rest of the application. 再開の準備ができたら、そのスレッドをもう一度右クリックして Unfreeze(凍結解除)を選択すると、スレッドの実行を再開できます。 この機能は、.NET および .NET Framework をターゲットとするプロジェクトでのみ使用できます。

Running and debugging native code on consoles Game dev Unreal Engine

Rider 2024.3 has reached a massive milestone by introducing support for running and debugging C++ on all major consoles! This includes games written with custom engines and Unreal Engine. Availability is strictly by request, and you must be part of the console’s official development program. こちらで詳細をご覧ください。

More updates for game development

ユーザーエクスペリエンス

Tooltip colorization

For this release we reviewed almost all C# error, warning, and informal messages and introduced text colorization wherever possible.

Approximately 600 messages were upgraded with tooltips that are structured for easier reading and include the familiar colors from the editor for the included code elements.

Run widget: Launch multiple configurations simultaneously

The updated Run widget now allows multiple configurations to be launched simultaneously by holding Ctrl and clicking the debug icon. It also displays the controls for all running configurations, simplifying management.

デフォルトのタブ数上限の引き上げ

The default tab limit in the editor has been increased to 30, allowing more tabs to stay open before the IDE closes the least recently used ones. You can adjust this in Settings | Editor | General | Editor Tabs.

新しいターミナルの UI の更新

We've updated the new terminal's UI with a more compact design, reducing padding to optimize the use of your screen. パディングを減らしてスペースを節約することで、可読性を犠牲にすることなくコマンド操作時の視認性を向上させています。

C# サポート

C#13 関連の更新

With its latest release, Rider introduces support for the latest features that come with C# 13, namely:

  • New params collections: The params keyword has been expanded to work with various collection types, allowing for more efficient method signatures without additional allocations.
  • Partial properties: Support has been added for partial properties, enabling you to spread property accessor implementations across multiple files, increasing flexibility and organization in your codebase.
  • New lock type: The new System.Threading.Lock type has been introduced for more efficient thread synchronization, improving performance over the traditional lock statement.
  • Overload resolution priority: A new attribute is available, providing better control of method overload resolution and allowing developers to prioritize which overload gets called in complex scenarios.
  • field keyword: The preview feature has been added to the field keyword. This gives direct access to the backing field of auto-properties, simplifying property logic.

Learn all about the support of C#13 features in Rider and ReSharper on our blog.

Code styles and cleanup

コードのクリーンアップ

In Rider 2024.3, code cleanup has been re-engineered for more robust performance. It now leverages the same engine as scoped quick-fixes, ensuring thorough issue resolution and enhancing analyzer precision. Parallel preprocessing has also been added to optimize file handling.

Additionally, you can now select the Code Cleanup profile per file or skip cleanup on specific files.

コードの整形

There are new formatting options to give you even more flexibility:

  • New option to control wrapping around an equal = operator.
  • New Indent ‘break’ from ‘case‘ option.
  • New Treat ‘case’ statements with ‘break’ as simple option.

Naming styles

We’ve added a couple of new options to adjust naming rules more precisely.

  • Local functions now come with two options: Local functions with ‘async’ and Task-returning local functions (not ‘async’).
  • Methods have been given a new Task-returning method (not ‘async’) option to support methods with an async suffix in the name that aren’t marked with an async modifier but return a Task-like type. This is helpful when you declare a method in an interface where you aren’t allowed to use an async modifier, but which will return a Task type in implementation.

Code comments

Multiline TODO comments support

Rider 2024.3 now supports multiline TODO comments, allowing indented text on subsequent lines to be treated as part of the same TODO item. This enhancement makes it easier to group related notes and tasks together in your codebase. You can now add context to your TODOs across multiple lines, improving readability and organization.

F# のサポート

We’ve updated the F# compiler service to get all the recent language features and improvements to the editor tooling.

型ヒント

F# support now shows inferred type hints for patterns and members. It’s easy to see the local value types with the new Push-to-Hint implementation.

コード編集

Code completion can now import functions, values, union cases, and active patterns. There is also a new quick-fix that helps update the pasted code.

You can convert a function expression to a parameter and match it with a new context action.

C# interop

We’ve significantly improved performance when analyzing referenced C# projects and fixed various false positive errors.

More changes, fixes, and new features are listed on the GitHub page.

バージョン管理

ウェルカム画面のブランチ名

The Welcome screen now shows the branch name, helping you stay organized when handling multiple project versions and allowing you to switch between working directories easily.

バックグラウンドのコミット前チェックを無効化するオプション

Settings(設定)| Version Control(バージョン管理)| Commit(コミット)にある新しい Run advanced checks after a commit is done(コミット完了後に高度なチェックを実行する)オプションを使用することで、コミット処理中のバックグラウンドチェックを管理できるようになりました。 この設定により、コミット後にテストとインスペクションを実行するかどうかを決定できます。 コミットが行われる前にこれらのチェックを完了する場合は、このオプションを無効にしてください。

Find in Files(ファイル内検索)の更新

Find in Files(ファイル内検索)機能が強化され、Project Files Excluding Git-Ignored(gitignore ファイルを除くプロジェクトファイル)という新しい検索範囲が追加されました。 このオプションを使用すると .gitignore ファイルで無視対象に指定されているすべてのファイルが検索結果から除外され、プロジェクト全体を検索する際に関連性のあるコードに専念しやすくなります。

リモート開発

Rider’s remote development is officially out of Beta!

After a final round of refinements during Beta – with particular attention to typing stability – Rider’s remote development functionality is now fully equipped to handle all core development workflows you rely on.

From code editing and debugging to version control, everything now operates almost as seamlessly as it would on a local instance, providing a smooth and powerful experience in remote environments.

You can read more about the supported workflows on the blog.

ゲーム開発

Unreal Engine

This release brings automatic debugging of child processes on Windows. Any processes created during a debug session will join the session, and breakpoints in the child process will be hit.

It’s also possible to configure rules to decide which child processes to debug and which ones to skip.

In addition to the exciting news about Rider’s support for debugging on consoles, this release also introduces support for the Verse programming language, new code insight features, and integration with Live++ for the hot-reload of C++ applications.

To learn more about the new code insight features, take a look at What's New in ReSharper C++.

Unity

Rider 2024.3 improves your debugging experience with IL2CPP builds, providing the same features you get with Mono. そのため、デバッガーに Active Scenethis.gameObject、および GameObject インスタンスの ChildrenComponents が表示されます。 また、mmediate ウィンドウColllection(コレクション)ビュー、および IL2CPP ビルドの問題も修正されています。

Unity プロファイラーのコールスタックで項目をダブルクリックした際にソースファイルが Rider で開くようになりました。また、プロジェクト内のファイルを検索する際には Rider が不要なコンテンツをより適切に除外できるようになりました。

Godot

このリリースでは、C# のホットリロードのサポートと Godot に関する重大なバグが修正されています。 Rider がゲームの実行中に C# コードに加えた変更をアプリケーションに適用できるようになりました。

Rider は、Godot 4.4 で導入される予定の GDScript のデバッグに関する更新にも対応しています。この更新では、古いバージョンの Godot で提供中のものよりもはるかにリッチなオブジェクトプロパティビューが提供される予定です。

ウェブ開発

ディレクトリの検索結果を明確化

プロジェクトディレクトリで Find in Files(ファイル内検索)を使用する際、Rider がデフォルトでnode_modules の結果を除外するようになりました。 Settings(設定)| Advanced Settings(高度な設定)Search in library files when “Directory” is selected in Find in Files(ファイル内検索で "ディレクトリ" が選択されている場合はライブラリファイル内を検索する)オプションを有効にすると、以前の動作に戻ります。

フレームワークコンポーネントの移動操作と名前変更の改善

Vue、Svelte、および Astro コンポーネントのエディター内ヒントを強化しました。 Show component usages(コンポーネントの使用箇所を表示)アクションがインポートとマークアップテンプレートの両方で使用箇所を検索するようになりました。 また、通常のファイル参照を検索する際にコンポーネントの使用箇所を除外するための Show Component Usages(コンポーネントの使用箇所を表示)フィルターを追加しました。 Rename(名前の変更)リファクタリングも更新され、コンポーネントファイルの名前を変更する際に使用箇所を含めるオプションが追加されました。

Tailwind CSS クラスの色のプレビュー

Tailwind CSS クラスの色のプレビューがエディターでインライン表示されるようになったため、色を区別しやすくなりました。 言語サーバープロトコル(LSP)の textDocument/documentColor メソッドのサポートを追加したことで、すべての LSP ベースのプラグインでこの機能が初期状態で提供されるようになりました。

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

データベース操作

Text-to-SQL: AI によって生成された結果に対するエディター内差分表示

エディター内での AI Assistant の操作エクスペリエンスを改善しました。 コードに何らかの処理を行うように AI Assistant に依頼した際、エディターエリアに元のコードと生成されたコードの差分が表示されるようになりました。 AI Assistant の提案は違う色でハイライトされ、ガターには Revert(元に戻す)アイコンが表示されます。 You can also edit the resulting query yourself in the same area. 自分で行った変更も同じようにハイライトされます。 たとえば AI Assistant にクエリでより多くのデータを取得するように依頼した後、生成された結果に ORDER BY 句を追加することができます。

AI Assistant による SQL エラーの処理

We have implemented a couple of useful actions for handling SQL query execution errors with AI Assistant, which are accessible in the error message area. Explain with AI opens the AI chat with an automatically sent prompt and AI Assistant’s response providing an explanation of the error. Fix with AI(AI で修正)アクションは、クエリ実行エラーに対する修正をエディター内に生成します。

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

AI Assistant

Rider 用 .NET Aspire プラグイン

AI プロンプトのインライン入力

Rider 2024.3 introduces inline AI prompts, offering a seamless way to interact with AI Assistant directly in the editor. 自然言語でリクエストを入力すると、AI Assistant がそれを即座に解釈し、コードの変更に変換します。この変更はガター内で紫色で示されるため、簡単に追跡できます。 AI プロンプトのインライン入力はコンテキストを認識し、関連するファイルやシンボルを自動的に含めるため、より正確なコード生成が可能です。

コンテキスト管理の改善

このアップデートでは、AI Assistant が提案時に考慮するコンテキストの管理をより透明化し、直感的にしました。 改良された UI ではコンテキストとして含まれるすべての要素を表示し、管理できるようにすることで、完全な可視性と制御を実現しています。 開いているファイルとその中で選択されたコードがコンテキストに自動的に追加されるようになったため、必要に応じてファイルの追加と除去を簡単に行い、ワークフローに合わせてコンテキストをカスタマイズできます。 また、プロジェクト全体の説明を添付し、コードベース全体にわたって AI Assistant の回答をガイドすることができます。

チャットモデルプロバイダーの選択オプション

優先する AI チャットのモデルを Google Gemini、OpenAI、またはマシン上のローカルモデルから選択できるようになりました。 この選択肢の拡大により、特定のワークフローに合わせて AI チャットの回答をカスタマイズできるようになり、より適合性の高いパーソナライズされたエクスペリエンスを得られるようになりました。

デコンパイラ

IL code for assembly manifest

The IL Viewer tool window now provides IL code for assembly manifest, including:

  • Assembly and module info such as name, custom attributes, etc.
  • Referenced assemblies and modules.
  • 転送された型。
  • A list of files and resources.

This IL code is shown when the caret in the text editor is on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.

Support for primary constructors

When working with classes that declare a primary constructor, the Decompiler will now display the constructor and its parameters correctly, giving you a complete view of how objects are instantiated directly from the decompiled code.