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:

Post a Comment

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.