Visual Studio 2013 Intellisense не обновляется при изменении файла заголовка в другом проекте

У меня неприятная проблема с C++ Intellisense в Visual Studio 2013. (Если вы имеете дело с другими версиями VS, пожалуйста, не отвечайте. Intellisense сильно изменился по версиям, и мой опыт показывает, что ответы для одной VS версия обычно бесполезна для более поздних версий.)

Я часто работаю над несколькими проектами с несколькими экземплярами Visual Studio. Например, когда я вношу изменения в файл заголовка в библиотеке, Intellisense должна обнаруживать измененный файл и обновлять проект приложения, который у меня также открыт. Раньше это работало, и я считаю, что оно перестало работать, когда я установил SSD. Поведение, по-видимому, указывает на то, что VS просто не обнаруживает, когда файл изменяется на диске за пределами текущего проекта.

Я не понимаю, как переход на SSD изменит это обнаружение, но это лучшее предположение, которое у меня есть. Я экспериментировал и безуспешно искал ответ, поэтому любые рекомендации будут полезны.

Спасибо, Дуг.


person goug    schedule 09.06.2015    source источник
comment
Дополнительная информация, я был на VS 2013 Update 3 и только что обновился до Update 4, что не решило проблему.   -  person goug    schedule 09.06.2015


Ответы (1)


C++ IntelliSense на самом деле никогда не отслеживал изменения файлов в экземплярах Visual Studio. Я считаю, что ваши предыдущие наблюдения, должно быть, были иллюзией или предвзятыми.

Например, один сценарий, в котором он мог бы «отчасти» сработать: в экземпляре A Visual Studio вы открыли header.h и применили изменения, в экземпляре B Visual Studio у вас были открыты header.h и source.cpp (используя заголовок). Открытый header.h в экземпляре B будет «замечать» изменения (может быть диалоговое окно с запросом на перезагрузку файла или может быть установлен параметр автоматической перезагрузки) и уведомлять source.cpp IntelliSense о перезагрузке. IntelliSense также периодически обновляет весь файл или в ответ на некоторые изменения пользователя, так что это могло быть другим объяснением; хотя и менее детерминированный, и, конечно, замена жесткого диска не должна влиять на него.

Как правило, работа с одними и теми же файлами в нескольких экземплярах Visual Studio (как вы видите) не очень хорошо поддерживается. Я бы предложил альтернативный подход, чтобы сгруппировать несколько ваших проектов в одно решение и работать в одном экземпляре. С практической стороны обратите внимание, что вы можете настроить свое собственное решение «рабочей области», которое ссылается на выбранные проекты, которые вам нужны, не влияя на файлы решения команды — я делаю это довольно часто, поскольку обычно меня интересуют только 2-3 проекта. N работает моя команда.

person Lukasz Mendakiewicz    schedule 11.06.2015
comment
То, о чем вы говорите, конечно, происходит, но я совершенно уверен, что мне это не кажется. Это очень расстраивает прямо сейчас, и это не было так. Я довольно наблюдателен и давно пользуюсь VS. При большом количестве используемых нами библиотек группировать их в решения нецелесообразно. Спасибо за ответ, хотя ... Я ценю попытку помочь. - person goug; 17.06.2015