Как мне убедиться, что мой глиф находится вверху (расширение Visual Studio)? - PullRequest
0 голосов
/ 02 марта 2020

В настоящее время я работаю над расширением Visual Studio с простым глифом (это изображение, которое фиксирует событие нажатия и показывает диалоговое окно), и мой поставщик глифов выглядит следующим образом:

[Export(typeof(IGlyphFactoryProvider))]
[Name("MutationCodeHighlightGlyph")]
[Order(After = "VsTextMarker")]
[ContentType("code")]
[TagType(typeof(MutationCodeHighlightTag))]
public class MutationCodeHighlightGlyphFactoryProvider : IGlyphFactoryProvider
{
    public IGlyphFactory GetGlyphFactory(IWpfTextView view, IWpfTextViewMargin margin)
    {
        return new MutationCodeHighlightGlyphFactory();
    }
}

Как Вы можете видеть, что у меня есть [Order(After = "VsTextMarker")], и я вижу глиф и нажимаю на него при отладке. Но позже, когда я устанавливаю его в свою обычную визуальную студию, я вижу только его, но не щелкаю Таким образом, мне кажется, что что-то ловит мое событие клика, и я думаю, что это стало более резким после прочтения этого:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/a83a2e18-090f-49c7-98fb-33d687f936d0/how-to-set-iglyphfactoryprovider-order?forum=vsx

Он говорит о специальном холсте Resharper, который может захватывать события (но, к сожалению, не называет его название). Но должно быть решение этой проблемы? Немного странно, что расширение может создавать свой собственный холст и захватывать все события, поэтому все остальные сторонние расширения терпят неудачу.

Редактировать: Только что попробовал и отключил resharper, и теперь он работает нормально .. так что каким-то образом reharper украл все события клика.

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