コードに基づく IntelliCode(IntelliCode models based on your code)は、コードを学習して、IndelliSence でいい感じの(例えば良く使っているメンバーを)おススメしてくれる夢の機能です。
文字列 "" に対するおススメで、これまでにない ★ マークがついています。これが、IntelliCode お勧めのナイスなメンバーということです。
プログラマが使いたいだろうメンバーが上位に表示されるのでとても高い生産性でコードが書ける、という代物です。
■ 拡張機能のインストール
利用するにはまず、拡張機能をインストールします。
メニューの 拡張機能 > 拡張機能の管理
を選択します。
オンライン
を選択、右上の検索ボックスに「IntelliCode」。
ダウンロード
からインストールします。Visual Studio 再起動が必要になります。
■ コードを学習する
Visual Studio でコードを学習したいソリューションを開きます。
メニューの 表示 > その他のウィンドウ > IntelliCode Model Management
を選択します。
マイコードでトレーニング
ボタンでコードを学習します。
今回は試しに、次の GitHub 上のコードを学習してみました。
.cs のファイル数:108
.cs ファイルの総行数:3175
という少し小さめのコードで学習には 3~40秒 程度かかりました。
■ 学習前後のおススメ
↓学習前
↓学習後
学習後は ToLower メソッドがなくなり Substring メソッドがお勧めに追加されているのが確認できます。
素晴らしいですね。
■ 大きなソリューションで学習を試みる
.cs のファイル数:541
.cs ファイルの総行数:404,786
というリポジトリ ( Pleasanter ) で試してみました。
3時間経ってまだ学習が終了しません。ダメなのでしょうか...?
追記:6時間後くらいにキャンセルして再トレーニングしたら1分程度で完了しました。
■ メンバーと共有する
学習結果をメンバーと共有する場合は、共有したいトレーニング結果の 共有モデル
をボタンをクリック。共有する URL がクリップボードに入ります。これを共有したい相手に伝えます。
黄色い帯で注意事項が出ていますが、リンクの URL はソースコードと同じように外部に漏れないように気をつけろ、とのことです。
GitHub などでもともとソースが公開されていれば「ソースコードと同じに」ということなので、それほど神経質にならなくてもいいのでしょうか?
モデルを追加する(共有される)方では モデルを追加
をクリックします。URL を入力する欄が表示されるので 共有モデル
のクリックで得た URL を入力します。
簡単ですね。
※自分で自分と共有しても何も起きないようです。他人と共有した見た目は少し待ってください。ぼっちなので。
参考
※英語ページが開きます
https://docs.microsoft.com/ja-jp/visualstudio/intellicode/custom-model-faq