2014年9月26日金曜日

Visual Studio 2010 で CLI/C++を使うとintellisenseが使えなくなる件について

この意味不明な駄文を書き続けているブログですら、ある程度
毎日アクセスがあるわけだが、それを見ているとあるはっきりした
傾向があるのがわかる。それは、
”プログラミングネタは人気がない”ってことだ。
はっきりいうと、Ubuntuネタよりアクセスが落ちる。
Linuxする人>プログラミングする人 ってことか?
私、プログラミングしている時、やり方をwebで調べていることが多いが
世の中の人は違うのか?気になる話だ。

今回はそんなプログラミングの話
WindowsにVisual Studio 2010 という超便利な統合開発環境があるが
これでC言語で開発するときに.net,CLI,CLRの関数(いわゆるC#の関数)
を使いたくなるなることがある。そんな時は

こんなようにプロパテイから共通言語ランタイムサポート(/clr)
を選べば良い。

これで参照から好きなアセンブリを選べる



こんな感じで選択して入れると
C++やMFCでCLR(.NET)の関数が使える。
たとえば



のように
Systemのアセンブリを入れれば、
System::Math::Abs()
とかできる。
これぐらいなら#include すれば CLRを使わなくてもいいが、
他の.NET関数がすべてつかえるようになる。

が ただし 注意して欲しいのは、そのままだとインテリセンス効かない。
つまり入力中、入力候補が出ない。
で画面の端っこに
http://herpuretears.up.seesaa.net/image/vs2010cli.jpg
こんなものが出る。

これ、ありえないぐらい嫌、Systemの下のアセンブリ一覧なんて調べてられない。
なんで解決策を調べた。

それはメニューから
[ツール]->[拡張機能マネージャ]を選び
オンラインギャラリーから拡張機能を入れる
今回はVisual Assist

これインストールするとインテリセンスが効くようになる。


 こんな感じです。
ただこれ有料(試用期間あり)なのでそれに注意