2008-03-01

Inside IntelliSense

IntelliSense History, Part 1
IntelliSense, Part 2 (The Future)

いつか紹介しようと思っていたのだが、続編が出たのでここで紹介することにする。Visual StdioのC++のインテリセンスの実装についての詳しい話が、開発チームのブログで語られている。

まず、VC9までは、NCBファイルを使っている。これはかなり古くからあるもので、色々と問題も多い。ファイルの内容はすべてメモリに入れておかなければならないし。変更があるたびに、大部分を参照しなければならない。

そこで、VC10からは、SQL Server Compactを使うことにしたらしい。これは元々、Windows CE向けに作られたもので、ひとつのファイルを使用し、プロセスに組み込んで使う。
また、パーサも新しくなり、ヘッダとファイルを、別にして取り扱うので、共通のヘッダファイルを書き換えただけで、インテリセンスが固まるということもなくなるらしい。ただし、正確さという点では、劣る。このため、現在開いているファイルに対しては、フルパースを行うようだ。

さらに長期的な構想も語られている。SQL Serverそのものを使うことによって、もっと面白いことができたりなど。

No comments: