MNAの世界

ブログをリニューアルしました!コメント、リンク、ツイートなどはお気軽にどうぞ。

PC、技術系

【C/C++】Visual Studio Code(VSCode)のインテリセンスがイマイチ賢くないときの対処法

投稿日:2018年9月20日 更新日:

結論から言うと「WindowsSDKをアップデートしろ!」です。

事の発端

最近VSCodeを使い始めたのですが、「IDEを使えない案件の場合でも慣れ親しんだVisualStudioライクなインターフェースでコーディングができる!」ということでとても気に入っておりました。

でも一つ欠点があるんですよ。それはインテリセンスがイマイチ賢くないってこと。例えばポインタ型の変数の後ろに “.” を書いてもメンバ候補が開いてしまいます。本来なら “->” を書いたときだけ開くべきです。そのメンバ候補もソース上に存在するあらゆるシンボルが列挙されてしまっているという有様で、「まあビルドをしていない以上、文脈を理解するのは難しいのかな?」と思っていました。
だがしかし!

衝撃の事実が発覚!

業務都合でもうひとつのPCにVSCodeをインストールしたら、なんとインテリセンスがめっちゃ賢い!!!ポインタ変数の後ろに “.” を打ってもちゃんと無視してくれますし、何よりメンバ候補の列挙が的確!!!なんだこれは!どちらのPCも同じWindows10なのに挙動が違いすぎるだろ!!!

完全アンインストールを試してみたが……

こういうときまず試すのが再インストール、なのですがどうもアンインストールを実行しただけでは拡張機能などのデータが残ってしまう模様。

↓というわけで下記のサイトを参考に完全アンインストールを行い、その後再インストールを行いました。

Visual Studio Code(VScode)を完全にアンインストールするメモ

でも挙動はかわらず。ぐぬぬ。

違いは何だ?

両者の環境の違いは何なのだ?と調べているとあることに気付きました。どうもインテリセンスが賢いほうの環境には下記のフォルダが存在するようなのです。
“C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0”

このフォルダにはincludeファイルなど、開発に関わる重要なファイルが収められています。インテリセンスが賢くないほうの環境には “10.0.10240.0” までしか存在しません。
もしやこれか?

ちなみになんでそんなことに気付いたのかというと、インテリセンスが賢くないほうの環境ではなぜか開けない標準ヘッダがあったからなのです。賢いほうの環境では普通に開けていたのでそのファイルのパスを探ってみたわけです。どちらも同じようにVisualStudio2015が入っているにも関わらず不思議なもんですね。

WindowsSDKのバージョンアップを試す

↓マイクロソフトのサイトから最新のWindowsSDKを入れてみました。

するとあら不思議、インテリセンスが賢くなりましたとさ!
めでたしめでたし。

VSCodeは最新版がUbuntu14で動かなくて嵌ったり(16にしたらいけた)と、何かと最新の環境を要求してくるようです。アグレッシブに最近機能を使いまくってるんでしょうかねぇ……もしおかしいと思ったら色々最新版にアップデートしてみると治るかも?

-PC、技術系
-


comment

リンクが多数含まれていると表示されないのでご注意ください。(スパム対策)

関連記事

no image

新ノートPC 購入計画

6年間現役で頑張ってきたMebius MURAMASA PC-MV1-C1Hですが、さすがにパワー不足が目立ってきました。 やはりニコニコがまともに見れないのは致命的、画面がXGAのため今となっては普… 続きを読む

intel さくまドロップ

会社で組み込み開発技術展とやらに行って来た人が大量の戦利品を仕入れてきました。 早い者勝ちで貰えると言うことで、当方が貰ったのはこれ、「intel さくまドロップ」。 これを食べると頭がクロックアップ… 続きを読む

no image

RSSに対応

実はまだRSSに対応できていなかったのですが、ついに本日動き出しました。 今まで動いてなかった理由はJcode.pmが入っていなかったから。 わかってはいたものの、テスト運用中と言うことで放置状態だっ… 続きを読む

no image

出先のプロキシ

今行ってる会社は門真の某社に比べるとネットとかは比較的自由にアクセス可能です。 しかし一部のサイトは見られないっっぽいです。 そんなことされるといろいろ試してみたくなると言うもの。 結果はこんな感じ。… 続きを読む

ゲーム向けモニタ VISEO MDT243WG 購入

約8年間使ってきたCRTがついにお亡くなりになったので、観念して液晶モニタを購入しました!!! ジャジャーン!!! 画質や遅延など、ゲームにも耐えられるものをいろいろ調べて迷った結果、辿り着いたのがこ… 続きを読む