IntelliCodeが「リファクタリング」を助ける、Visual Studio 2019 バージョン16.3の改善コードの変更パターンを検知

Microsoftがリリースした「Visual Studio 2019 バージョン16.3 Preview 3」では、IntelliCodeがリファクタリングを支援する。開発者がコードにある変更を施すと、類似したコードのパターンを探し出すというもの。例えば開発者が自ら正規表現を工夫するよりも楽になる。

» 2019年09月10日 14時30分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Microsoftは2019年9月5日(米国時間)、「Visual Studio 2019 バージョン16.3 Preview 3」(9月4日リリース)において、IntelliCodeによるリファクタリング機能が向上したと発表した。開発者が行う反復的な変更をIntelliCodeが迅速に検知することで、IDE内で開発者が同様の変更を適用しそうなコード内の他の箇所を指摘するようになった。

 IntelliCodeのリファクタリング機能はプレビュー段階だ。そのため、Visual Studio 2019 バージョン16.3 Preview 3のデフォルトでは無効になっている。有効にするには、[ツール]−[オプション]−[IntelliCode]−[全般]から、プレビュー機能のカテゴリー内で「C# IntelliCode Refactorings」を「Enabled」(有効)に切り替える。

 設定変更後、開いているファイルがあればそれらを閉じ、Visual Studioを再起動すればよい。

リファクタリング機能を有効化するメニュー(出典:Microsoft

IntelliCodeによるリファクタリングの仕組み

 IntelliCodeは、開発者が入力する個々の編集内容をチェックし、PROSE(PROgram Synthesis by Example)を使って、汎用(はんよう)化された編集スクリプトを合成する。このスクリプトが、コードを編集前の状態から変更後の状態に変換する。

 IntelliCodeが、こうしたスクリプトを適用できる別の場所をコード内で発見すると、Visual Studioはコードの左の余白に電球マークを表示する。電球マークは、リファクタリング操作を提案するものだ。または開発者が影響を受けるコードの上をホバー後、緑の波形記号を表示する。いずれも開発者が2回、同じようなコード修正を実行したときに機能する。この機能の基盤は「Microsoft Excel」のフラッシュフィル機能と似ている。

 IntelliCodeはテキストの変更を追跡するだけでなく、コードのシンタックス構造も認識している。これにより、変数名が異なっていても、変更箇所の基本的な構造が同じであれば、リファクタリング対象として検知できる。

シンタックスのパターンを2カ所で検知し、リファクタリングのパターンを提案した例 カ氏からセ氏を算出するコードが対象となっている(出典:Microsoft

 提案された変更が気に入らなければ、電球マークで無視を選択すればよい。無視を選択すると、開発者がコードを再作成しない限り、IntelliCodeがそのパターンを再び提案することはない。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。