您的位置:首页 > 其它

去掉Visual Studio 2005的IntelliSense功能

2014-01-15 16:00 507 查看
VS的IntelliSense功能类似其他IDE中的auto-completion,也就是能够自动补全,不过和VI和Emacs中的auto-completion不一样,IntelliSense比较Intelligent,根据编程语言的语法来谈出备选填,比如有下面的code:
class Peon {
public:
void Work();
};

class Warrior {
public:
void Wallop();
};

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

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

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

注:去掉IntelliSense功能之后,VS 的 ClassView 将会失效,也即看不到任何信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: