Я создаю довольно простое расширение для визуальной студии. Я пытаюсь сделать расширение только активным при работе с типом файла python. Я нашел this и попытался применить его к моей ситуации, но я думаю, что у меня что-то не хватает. Расширение работает правильно с файлами python, но также остается активным с другими типами файлов, когда я хочу, чтобы он их игнорировал.Получить Visual Studio Extension для работы только с определенными типами файлов
До сих пор, я последовал за прохождение игры и сделал этот класс:
static class FileAndContentTypeDefinitions
{
[Export]
[Name("py")]
[BaseDefinition("text")]
internal static ContentTypeDefinition hidingContentTypeDefinition;
[Export]
[FileExtension(".py")]
[ContentType("py")]
internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;
}
Затем в SourceProvider и HandlerProvider у меня есть:
[Export]
[ContentType("py")]
Это позволяет типы питон файлов на работу, но делает не отключать расширение, когда открыты другие типы файлов. Есть ли способ для этого?
EDIT: Я понимаю, что это слишком неоднозначно. Расширение предоставляет предложение о завершении комментариев python doc на основе сигнатуры метода, имеющей строку перед (если применимо). Это срабатывает, когда набирается символ '' '. Я хочу, чтобы это произошло только в файлах python.
другой экспорта являются: От HandlerProvider
[Export]
[ContentType("py")]
[Export(typeof(IVsTextViewCreationListener))]
[Name("token completion handler")]
[ContentType("text")]
[TextViewRole(PredefinedTextViewRoles.Editable)]
От источника поставки
[Export]
[ContentType("py")]
[Export(typeof(ICompletionSourceProvider))]
[ContentType("text")]
[Name("token completion")]
Я мог бы также добавить, что я последовал за MSDN прохождениям довольно близко, так как это мой первый набег на создание расширения , В результате, однако, я не уверен, что могу объяснить каждый бит кода (перевод: я не знаю, что это такое).
Что вы подразумеваете под "отключить расширение"? Что вы пытаетесь предотвратить? – SLaks
А хорошая точка. Таким образом, расширение обеспечивает завершение для комментариев python doc, запуск, когда набирается символ '' '. Я хочу, чтобы это произошло только в файлах python. –
Пожалуйста, покажите нам свои экспортируемые услуги. – SLaks