VisualStudioのインテリセンスのお話

http://msdn.microsoft.com/ja-jp/library/ms235519%28VS.80%29.aspx
以前も書きなぐったのだけど、改めて。
プリコンパイル済みヘッダで定義されている関数、ネームスペースなどがインテリセンスに認識されない問題について。

stdafx.h がインクルード パスに含まれていることを確認します。Visual C++ プロジェクトのインクルード パスの詳細については、「#include」および「/I (追加インクルード ディレクトリ)」を参照してください。

なん…だと…。
stdafx.hは、VSの仕様として

#include "stdafx.h"

と書かなければならない。
"../stdafx.h"とかやってちゃんとパスを通そうとすると、コンパイラに怒られてしまう。
 
コンパイラの仕様と、インテリセンス解読器(?)の仕様が違うと。
それが原因と。
そこまでいくと、プリコンパイル済みヘッダを使う時はstdafx.hにインクルードパスが通っていなければコンパイルできないほうがマシだ。
 
VS2008ならば
ツール>オプション>プロジェクトおよびソリューション>VS++ディレクト
にて、インクルードパスに . 一文字のパスを追加すればOK。
ドット1文字ね。
 
プロジェクトの設定で追加のインクルードディレクトリを設定する方法でもOKだった。
どっちが良いかはおまかせする。