Вопрос о том, как отключить IntelliSence в Visual Studio 2005 и Visual Studio 2008 был очень популярен у программистов. На форуме MSDN был даже огромный топик с обсуждением этой проблемы. Решением было удаление файла feacp.dll.
В Visual Studio 2010 разработчики учли этот опыт и решительно переработали как сам механизм IntelliSence, так и способ его отключения.
Отключить IntelliSence в Visual Studio 2010 можно через страницу настроек меню "Tools|Options": Text Editor->C/C++->Advanced.
Почему мы, разработчики анализатора PVS-Studio заинтересовались вопросом отключения IntelliSence в Visual Studio 2010? К сожалению новый IntelliSence "слегка портит нам жизнь". Поскольку механизм этот новый и видимо не до конца отлаженный, у него есть проблемы. Иногда (при невыясненных обстоятельствах) IntelliSence в Visual Studio 2010 добавляет свои сообщения в Error List тогда, когда туда же выводит свои сообщения наш анализатор PVS-Studio. И выглядит это так, как будто PVS-Studio пишет про IntelliSence. Так, наряду с "нашими" сообщениями
c:\users\ svn\viva64\vivawalker.cpp(1743): error V101:
Implicit assignment type conversion to memsize type.
c:\users\svn\viva64\vivawalker.cpp(1897):
error V112: Dangerous magic number 4 used: eeUtil::Nth(p, 4);.
в этот же список попадают сообщения явно "не в тему"
"c:\program files (x86)\microsoft visual studio
10.0\vc\include\xlocnum",
line 1233 (col. 11): error: floating constant is out of range
"c:\program files (x86)\microsoft visual studio
10.0\vc\include\xlocnum",
line 1234 (col. 13): error: floating constant is out of range
Подобные сообщения часто явно не имеют никакого смысла, кроме того они выдаются не всегда, а в достаточно произвольных трудновоспроизводимых случаях. Увы, единственным возможным решением (чтобы сообщения PVS-Studio не сливались с IntelliSence) оказалось только отключение всех возможностей IntelliSence на указанной выше вкладке.
Если в вашем случае лишние сообщения от IntelliSence не появляются или появляются, но не мешают работать с сообщениями от PVS-Studio, то отключать IntelliSence не обязательно.
Надеемся, что со временем Microsoft поправит эту проблему и отключать IntelliSence будет не надо.
P.S. Очень хорошее описание этой вкладки настроек приведено в блоге команды Visual C++.
0