Есть ли способ заставить Intellisense работать при открытии файла CS, который не является частью проекта? - PullRequest
5 голосов
/ 30 января 2009

В идеале нам нужно знать, как Microsoft обрабатывает сгенерированный XAML-код (эти файлы * .g.cs). Если вы перейдете к коду XAML, intellisense будет работать, даже если файл * .g.cs не является частью проекта !!


Контекст:

В пользовательском пакете VS нам нужно иметь некоторую логику, чтобы открыть файл CS (не делая его частью проекта) в VS IDE, чтобы позволить пользователю редактировать его.

Мы подключаем документ к таблице «Запущенный документ» и получаем события, такие как «Сохранение», «Закрыть» и все, используя IVSRunningDocumentTable. Работает хорошо.

Теперь проблема в том, что когда документ открыт, Intellisense не может работать, по той простой причине, что открытый документ не является частью проекта (к сожалению, мы не можем этого сделать, мы не можем сделать это код позади).

Ответы [ 2 ]

3 голосов
/ 30 января 2009

Intellisense управляется кэш-памятью идентификаторов и типов. Эти типы кэшируются на основе проекта, в котором вы находитесь, и ссылок, которые есть у проекта. Если файл кода, который вы редактируете, не является частью проекта, Visual Studio должна будет загрузить каждую возможную сборку и создать данные intellisense для каждого типа во всей платформе .NET, потому что у нее не будет возможности узнать, является ли ваш файл кода требуется это.

Я думаю, Visual Studio может загружать intellisense на основе содержимого файла, но это не так, как он работает в настоящее время.

0 голосов
/ 30 января 2009

Visual Assist X от Whole Tomato - это дополнение к VS, которым я пользуюсь много лет. Это даст вам Intellisense и многое другое, когда вы откроете его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...