3

Я создал проект Visx, и написал этот кусок кода:Какова минимальная рабочая реализация IVsTextViewCreationListener?

using Microsoft.VisualStudio.Editor; 
using Microsoft.VisualStudio.TextManager.Interop; 
using System.ComponentModel.Composition; 

namespace MyExtension 
{ 
    [Export(typeof(IVsTextViewCreationListener))] 
    public class Main : IVsTextViewCreationListener 
    { 
     public void VsTextViewCreated(IVsTextView textViewAdapter) 
     { 
     } 
    } 
} 

Если я ставлю точку останова внутри метода VsTextViewCreated, Visual Studio сообщает мне, что он никогда не будет хитом. Открытие файлов во втором экземпляре Visual Studio, который запускается в отладчике, действительно не вызывает его.

Что я делаю неправильно?

ответ

4

Вы должны указать ContentType и TextViewRole для вашего класса:

[Microsoft.VisualStudio.Utilities.ContentType("text")] 
[Microsoft.VisualStudio.Text.Editor.TextViewRole(Microsoft.VisualStudio.Text.Editor.PredefinedTextViewRoles.Editable)] 

Также не забудьте объявить MefComponent актив в своем манифесте расширения: enter image description here

+0

Пожалуйста, добавьте пример кода для иллюстрации MefComponent вещь. –

+0

Я добавил скриншот для MefComponent. –

+0

Я до сих пор не могу заставить его работать. Извините за беспокойство, но разве у вас будет рабочий рабочий образец? –

Смежные вопросы