VS2010のIntelliSense修復メモ

Windows XP上でVisual Studio 2010を使用すると、コード補完ツールのIntelliSense(インテリセンス)が機能しなくなるという不具合が発生する場合があるそうです。
手持ちのマシンで試してみたところ、見事に当てはまっていました。
WinXPのサポート終了まで半年を切り、あまり役に立つことはないと思われますが、せっかくですのでその復旧手順を残しておきます。

不具合の再現

まず、こちらで確認できた再現環境は以下の通りになります。
それぞれ最新版のアップデート(2013/10/30現在)を適用しているものとします。
もちろん、この環境を満たせば必ず発生するというわけでも、他の環境では起こらないことを保証するわけでもありません。

  • Windows XP Professional SP3
  • Visual C++ Express 2010 SP1

この状態でVisualStudio2010を起動して適当になコードを打ちこみ、IntelliSenseを起動します。

VS2010でIntelliSenseが機能しない
VS2010でIntelliSenseが機能しない

…反応がありません。
ログを出力するように設定しても、特に何も表示されないようです。

原因はWindowsの更新プログラム

Stack Overflowによれば、2013年9月に配布されたWindowsのアップデートパッチ「KB2876217」の適用後に不具合が発生したようです。

コントロールパネルから「プログラムの追加と削除」を起動し、「プログラムの変更と削除」を選択します。この時、「更新プログラムの表示」にチェックを入れます。
たくさん項目があって見当たらないときは、配信日である2013年9月9日を目安に探してみると良いかもしれません。

WinXPセキュリティ更新プログラム KB2876217
WinXPセキュリティ更新プログラム KB2876217

不具合の直接の原因はともかく、これを削除してみましょう。
ただし、セキュリティパッチを削除するということは、それだけマシンが危険に晒されるということです。可能であれば別の手段(他OSやIDEを使用するなど)を取るべきと思います。

パッチを削除したら、Windowsを再起動します。

復旧確認と自動更新の停止

再起動後、きちんとIntelliSenseが機能しているかチェックしてください。
手元のマシンでは以上の方法で復旧しました。手順自体は簡単ですが、Windowsのパッチに原因があるということに気付かないと、ひたすら再インストールを繰り返して涙目になってしまいます。

Windowsの設定でアップデートを自動にしている場合、KB2876217が再インストールされて元の木阿弥です。
自動更新を切る、あるいは更新の通知が出たときにインストールせずに再通知しないようチェックを入れるようにしましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です