VS的IntelliSense功能

VSIntelliSense功能类似其他IDE中的auto-completion,也就是能够自动补全,不过和VIEmacs中的auto-completion不一样,IntelliSense比较Intelligent,根据编程语言的语法来谈出备选填,比如有下面的code:

    class Peon

    {

         public:

             void Work();

    };

    class Warrior

    {

         public:

              void Wallop();

    }

    void foo()

    {

         Peon p;

         p.W

在输入"p.W"之后,使用VIautocompletion,只是把可以用的W开头的词全拿来作为备选项,这样WorkWarriorWallop都是,其实p是一个Peon类型的变量,后面不可能是Warrior或者Wallop,但是IntelliSense可以根据语法排除掉这两个干扰项。

这本来是个不错的功能,但是对C++这样的语言,需要语法分析源代码,每更改一次code都有可能引发IntelliSense更新.ncb文件,而IntelliSenseJava的垃圾回收还不识相,非但往往做的不合时宜,而且会占用很多时间。对于一个包含多个ProjectsSolutionVS环境很容易僵死,左下角一个"Updating IntelliSense"的提示。

很可惜,VS2005还没有Disable掉这个功能的UI,所以只好用些非常手段来Disable这个有时候比较讨厌的功能了。IntelliSense会不断更新Solution.ncb文件,把这个文件弄成Read-only,然后确认一堆的对话框是个办法,但是太麻烦,最简单直接的办法,需要一点壮士断腕的勇气,就是把VS安装目录下的VC/vcpackages/feacp.dll去掉,这个DLL就是管IntelliSense的,然后这个世界就清净了。

你可能感兴趣的:(VS的IntelliSense功能)