Я написал расширение, обеспечивающее автозаполнение IntelliSense для изолированной оболочки VS.У меня проблема с тем, чтобы это автозаполнение применялось только к файлам определенного типа.Для этого я следовал указаниям здесь .
Соответствующий файл класса:
using Microsoft.VisualStudio.Utilities;
using System.ComponentModel.Composition;
namespace VSIXProject1
{
internal static class FileAndContentTypeDefinitions
{
[Export]
[Name("assembly")]
[BaseDefinition("text")]
internal static ContentTypeDefinition hidingContentTypeDefinition;
[Export]
[FileExtension(".asm")]
[ContentType("assembly")]
internal static FileExtensionToContentTypeDefinition hiddenAVRASMFileExtensionDefinition;
}
}
Несмотря на это, когда я помещал экспорт [ContentType("assembly")]
в ICompletionSourceProviderи в IVsTextViewCreationListener, который используется для обработки интеграции IntelliSense, автозаполнение вообще не отображается.Однако, когда я использую [ContentType("text")]
или [ContentType("plaintext")]
, автозаполнение будет отображаться либо для всех файлов, либо только для файлов .txt, соответственно.
Это первый плагин VSIX, который я пытался сделать, поэтому, возможно,Я что-то пропустил.В настоящее время я в растерянности, что попробовать дальше.Много гуглирования не дало много информации, и ресурсы кода, которые я обнаружил, похоже, реализуют это поведение так же, как я пытаюсь.