Информация об изменениях

Сообщение Re[4]: VS Package - как получить все файлы из солюшин от 16.09.2020 20:41

Изменено 16.09.2020 20:42 bnk

Re[4]: VS Package - как получить все файлы из солюшин
Здравствуйте, Михаил Романов, Вы писали:

МР>Я даже подозреваю, что у самой студии ничего публичного для работы с XAML нет. У них даже обычный редактор XML расширить — это скачки на одной ноге (я в свое время смотрел, как это делал Мадс Кристенсен — и повторят даже пытаться не стал).


Может быть и есть. Только вот с публичностью и документацией реально проблема.
XML я сам парсил для автокомплита через Microsoft.XmlEditor.dll (он свой для каждой студии). Добывается через

_xmlLanguageService = (XmlLanguageService)_serviceProvider.GetService(typeof(XmlLanguageService));

https://github.com/nbelyh/IdMsoAutocomplete
https://github.com/nbelyh/IdMsoAutocomplete/blob/master/IdMsoAutocomplete/CompletionSupport/CompletionSource.cs

Возможно через него же можно и XAML, но то оно точно без удобств и это все достаточно жостко как-то..

Вообще помогает поиск по GitHub, по исходникам во многих случаях, если найти open-source аналого того, что ты хочешь сделать.
Re[4]: VS Package - как получить все файлы из солюшин
Здравствуйте, Михаил Романов, Вы писали:

МР>Я даже подозреваю, что у самой студии ничего публичного для работы с XAML нет. У них даже обычный редактор XML расширить — это скачки на одной ноге (я в свое время смотрел, как это делал Мадс Кристенсен — и повторят даже пытаться не стал).


Может быть и есть. Только вот с публичностью и документацией реально проблема.
XML я сам парсил для автокомплита через Microsoft.XmlEditor.dll (он свой для каждой студии, и документации так-то негусто). Добывается через:

_xmlLanguageService = (XmlLanguageService)_serviceProvider.GetService(typeof(XmlLanguageService));

https://github.com/nbelyh/IdMsoAutocomplete
https://github.com/nbelyh/IdMsoAutocomplete/blob/master/IdMsoAutocomplete/CompletionSupport/CompletionSource.cs

Возможно через него же можно и XAML, но то оно точно без удобств и это все достаточно жостко как-то..

Вообще помогает поиск по GitHub, по исходникам во многих случаях, если найти open-source аналого того, что ты хочешь сделать.