3

Реализация «закорючка» маркеры текста строки в JSLint.NET был довольно прямо вперед, как можно увидеть здесь:Пакет Visual Studio: возможно ли показывать подсказки на маркерах текстовой строки?

squiggles

Однако, несмотря на внедрение IVsTextMarkerClient с помощью метода GetTipText, всплывающие подсказки никогда не показываются. Метод GetTipText никогда не вызывается, когда мышь нависает над маркером.

Если я переключаю к типу глифа (например MARKERTYPE.MARKER_SHORTCUT), всплывающие подсказки показывают только штраф на полях:

glyph

Есть ли какой-нибудь трюк, чтобы получить подсказки, чтобы показать на теле встроенный текстовый маркер?

источник реализации код доступен здесь в методе SetMarker:

https://jslintnet.codeplex.com/SourceControl/changeset/view/f27a513c14bbfbf787ddb66485ae6c4404dc8352#source/JSLintNet.VS2012/JSLintErrorTask.cs

ответ

1

Оказывается, что ответ (на «? это возможно») является не при использовании старого IVsTextMarkerCli ent и IVsTextLines.

Это может быть достигнуто путем внедрения новых интерфейсов ITag/ITagger/ITaggerProvider. Мой текущий прототип выглядит следующим образом:

squiggle with tips

Исходный код доступен здесь:

https://jslintnet.codeplex.com/SourceControl/changeset/view/077d348a1fdf819ce13ceb984bae8000ce76a63d#source/JSLintNet.VS2012/Errors/JSLintTagger.cs

Надеется, что это помогает кто-то другое!

0

Это работает для меня, хотя это не является специфичным для текстовой строки маркера ... вы бы чтобы осуществить это в фоновом режиме:

public class MyAuthoringScope : AuthoringScope 
{ 
    ... 
    public override string GetDataTipText(int line, int col, out TextSpan span) 
    { 
     string info; 
     TokenInfo tokenInfo = this._source.GetTokenInfo(line, col); 
     ... 
     return info; 
    } 
} 
+0

Интересно, спасибо. Я еще не смотрел на использование Microsoft.VisualStudio.Package.AuthoringScope. Не могли бы вы предоставить дополнительный контекст из своей реализации? – Qube

+0

Nevermind, кажется, что ITagger + IErrorTag лучше всего подходит для того, что я пытаюсь сделать. Еще раз спасибо. – Qube

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

  • Нет связанных вопросов^_^