きな粉もち.net

.NET関連仕事に携わっています。OSSのソースを読んで気がついたことを中心に呟いたりブログに投稿したりしています。最近はUiPathを使ったRPAも研究中。気軽にフォローやツッコミよろしくおねがいします! Gitはここを使っています https://github.com/kinakomotitti

Visual Studio × AI × IntelliCodeを使ってみた

この記事の目的

この記事では、
IntelliCodeの使用感をまとめること
を目的としています。

本題

★IntelliCodeとは

IntelliCodeは、Visual Studio のIntellisenseの拡張機能です。
できることは、以下の3つのようです。
f:id:kinakomotitti:20180510000013p:plain

詳しくは以下のブログで紹介されています(動画付き!)。
Introducing Visual Studio IntelliCode | The Visual Studio Blog

日本語では、以下の記事で紹介されています!
www.publickey1.jp


今回は、Intellicense(入力候補機能)の強化版機能(上図のCode with confidenceの部分)の使用感についてまとめてみます。

★IntelliCodeの有無での違い【String編】

記事だけ見てもあれなので、実際に使ってみました。
まずは、Stringクラスで試してみました。
Stringクラスのインスタンスを作成し、”ドット”を打ち込んだところ、IntelliCode有or無で以下のような違いが出ました。
f:id:kinakomotitti:20180510000052p:plain

Lengthをはじめとして、よく使いそうな項目がリストの上位に表示されています!
確かに使いやすそうです!
・・・ToLowerが上位にランクインしていることに驚きでした(´・ω・`)

続けて、Replaceメソッドを呼び出して、【オーバーロードの表示】の比較を行ってみました。
※Replaceには、2つのオーバーロードがあります。

f:id:kinakomotitti:20180510000119p:plain

オーバーロードとして表示される順番がかわっています!
Stringの値をStringで置換するほうがよく使われているということですね(´▽`)

★IntelliCodeの有無での違い【Log4net編】

続きまして、最近ご無沙汰していたLog4netを使ったときの違いを見てみます。
f:id:kinakomotitti:20180510000132p:plain

★出てきてる( ゚Д゚)
.NET Framework標準のAPIだけではなくて、OSSにもIntelliCodeの機能は有効のようです。

★IntelliCodeの有無での違い【HttpClient編】

最後に、(ついでに)HttpClientでどのようなメソッドがSuggestionされるのか見てみます。
せっかくなので、以前使ったWeb API Client Libraryを使ってみます。
参考)
C# × Microsoft.AspNet.WebApi.Client × 使い方をまとめてみた - きな粉もち.net

f:id:kinakomotitti:20180510000152p:plain



よく使われているのは、SendAsyncやGetAsyncということでした。
ほんとは、PostAsJsonメソッドがでてくることを期待したのですが、ランキング外でした(=_=)
f:id:kinakomotitti:20180510000219p:plain



まとめ

IntelliCodeを使うことで、アルファベット順で表示されるIntellicenseより素早く目的の項目にアクセスできそうだということがわかりました。
また、よく利用されているメソッドやプロパティが何であるかを知ることができるところも素晴らしいと思いました!

今後も継続して更新されていくようなので、引き続きウォッチしていこうと思います。