JetBrains ReSharperの「大規模なアーキテクチャ変更」によりVisual Studioのフリーズが減少

Table of Contents

JetBrains ReSharperの「大規模なアーキテクチャ変更」によりVisual Studioのフリーズが減少

JetBrainsは、Visual Studio用の.NETプラグインであるReSharperをアウトプロセス設計にアップデートし、UIのフリーズを61%削減したと発表しました。ただし、この新しいモードでは機能が制限されています。

ReSharperは、.NETコードのナビゲーションとリファクタリングのための生産性向上ツールです。Visual Studio Marketplaceで最も人気のある拡張機能であり、280万回以上インストールされています。

ツールの機能は高く評価されているものの、最もよくある不満はパフォーマンスです。「何年も何度も試しましたが、とにかく遅すぎました」と、ある開発者は今年初めに述べています。問題はReSharperの速度が遅いだけでなく、Visual Studio自体に悪影響を及ぼしていることです。「こんなに有望なアドインがVisual Studioを使えなくしてしまうのは残念です」と、別の開発者は2022年に述べています。

アウトプロセス化は、この問題の改善を目的としています。この機能は、現在プレビュー段階にあるReSharper 2025.2に実装されています。以前のバージョンではVisual StudioのUIプロセスを共有していたため、解析に時間がかかりすぎるとフリーズが発生していました。JetBrainsは、オープンソースのコンテンツ管理システムであるOrchard CoreをVisual Studioで開くことで、この問題をテストしました。ReSharperをアウトプロセスで実行することで、UIのフリーズ(100ミリ秒を超えるフリーズと定義)が26秒から10.1秒に短縮されました。Orchard Coreは223のプロジェクトで構成されているため、コード量は膨大です。UIのフリーズは、入力やクリックが不可能になり、「ReSharperがコンピューターの速度を低下させています」という警告が表示される可能性があるため、開発者にとって煩わしいものです。

小規模なプロジェクトを運営するReSharperユーザーにもメリットがあります。Visual Studioをアウトプロセスモードをオンにして起動すると、UIのフリーズが約18秒から10秒に短縮されます。

最新のReSharperのパフォーマンス改善、現在プレビュー中

最新のReSharperのパフォーマンス改善、現在プレビュー中

デフォルトでオフになっているアウトプロセスモードの欠点は、デバッガ統合、AI機能、ダイアグラム作成ツール、動的プログラム解析、dotMemory、dotTrace、dotCoverなどの他のJetBrainsツールとの統合など、一部の機能が動作しないことです。同社は、これらの機能をアウトプロセスモードに追加するための作業が進行中であると述べています。

  • Laravelの発明者が開発者に「複雑な大聖堂」を書くのをやめるよう指示
  • GoogleとZedがVS Codeの魔の手からAIエージェントを解放するためのプロトコルをプッシュ
  • Bun JS ツールキットに MySQL ドライバー、シークレット API、YAML などが追加されました
  • GoogleがAndroidのインディー開発者を妨害、登録を強制

開発者は忍耐強く待つ必要があるかもしれません。ReSharperをプロセス外にするための作業は、Visual Studio自体が32ビットプロセスとして動作していた6年以上前に始まりました。1年後、この作業は「非常に複雑な作業」と評されました。このプロジェクトの欠点は、ReSharperが両方のモードで動作する必要があるため、それぞれで異なる動作をする必要があるコードが複雑になることです。

ReSharperとの機能の互換性が実現するまでには、まだ時間がかかるかもしれませんが、機能の喪失と引き換えに、より使いやすいコーディング環境を提供することに満足する開発者は少なくないでしょう。「OOPが有効になったことで、エクスペリエンスが大幅に向上しました!」と、リリース候補版のユーザーから報告がありました。

とはいえ、AIコーディング製品の急増により、ReSharperの必要性は一部の人にとって低下しています。ただし、2023年からはJetBrains AI Assistantと統合されています。パフォーマンスの問題以外にも、複数のコーディングツールを有効にすると問題が生じます。ReSharperがMicrosoftの組み込みIntelliSenseと競合してコード補完を開発者に提示していただけでも十分に問題でしたが、GitHub CopilotなどのAIツールを追加すると、エディターが忙しくなりすぎてコードに集中できなくなる可能性があります。

歴史的に、ReSharperの強みはリファクタリング機能にあり、AIコーディングはほぼ重複したコードを増加させ、質の低いコード構造を生成する傾向があることを考えると、これまで以上に必要とされていると言えるでしょう。これはGitClearの調査でも指摘されている問題です。AI支援への移行の中で、この機能が失われてしまうのは残念です。

ReSharper コードの多くは、C# 用のクロスプラットフォーム JetBrains IDE である Rider でも再利用されています。これは、Microsoft が Visual Studio for Mac を放棄した後、Mac ユーザーにとって重要です。®

Discover More