2016-09-16 27 views
0

次の例で太字とイタリック体にしようとしましたが、機能しません。文字列の書式を編集することは可能ですか?C#文字列書式辞書のインテリジェンス

private TestQuickInfoSourceProvider m_provider; 
    private ITextBuffer m_subjectBuffer; 
    private Dictionary<string, string> m_dictionary; 
    public TestQuickInfoSource(TestQuickInfoSourceProvider provider, ITextBuffer subjectBuffer) 
    { 
     m_provider = provider; 
     m_subjectBuffer = subjectBuffer; 

     //Methods and their description, good for unique keywords AKA QuickInfo words 
     m_dictionary = new Dictionary<string, string>(); 
     m_dictionary.Add("adapt", "<b> Process given file </b>\n" 

これは出力 http://i.stack.imgur.com/smDUF.png

文字列をフォーマットする適切な方法は何ですか?

編集///

はCSVを通じて大量のデータでそれを行うための簡単な方法を発見しました。

+1

どのように出力を書き込み、どこにいますか?残りのコードを入力してください。 – STLDeveloper

+0

@STLDeveloperこれは明らかにVisual Studioの拡張機能です。これは何らかのインテリセンスポップアップのようです。 – user3185569

+0

こんにちは@STLDeveloper私は謝罪します。はい、特定の文字列/テキストの上にマウスを置くと、私たちに教えてくれるintellisenseポップアップです何か。チームが特定の文字列を理解するのを容易にするために、このプロセスの見出しを大胆にする必要があります。 –

答えて

1

コードの必須部分(あなたの投稿には含まれていません)はAugmentQuickInfoSessionメソッドの実装です。私は現在あなたのm_dictionaryの文字列値を返すだけであると仮定しています。

QuickInfoのフォーマット結果を取得するには、もう少し作業が必要です。さんはAugmentQuickInfoSessionの定義を見てみましょう:

void AugmentQuickInfoSession(IQuickInfoSession existingQuickInfoSession, IList<object> quickInfoContent, out ITrackin) 

quickInfoContentオブジェクトの一覧です。 Stringを返すと、フォーマットされません。ただし、TextBlockオブジェクトを返す場合は、書式付きテキストを含めることができます。

例コード:

var textBlock = new TextBlock { TextWrapping = TextWrapping.NoWrap }; 

var boldRun = new Run("This is a bit of bold text."); 
boldRun.FontWeight = FontWeights.Bold; 
textBlock.Inlines.Add(boldRun); 

var normalRun = new Run("This is not very bold.); 
textBlock.Inlines.Add(normalRun); 

... 

quickInfoContent.Add(textBlock); 
+0

こんにちは! @ paul-jan私を助けてくれてありがとう、私はいくつかの研究を行い、私は関数fontStyleを見つけました。私はそれが異なる色を持つために特定の文字列をフォーマットすることが可能かどうか疑問に思っていましたか?このような としてm_dictionary.Add( "現在のループの実行を停止&次\ nを継続する" + "構文:#continueする\ n"、 "継続" )。 「続ける」という例は青で、残りの文字列は別の色ですか?私はquickinfo /マウスのホバー情報を目で見やすくすることを試みています。 –

+0

TextBlock内の複数のRunでのアプローチがうまくいく場合、実行するには「続行」を入れ、run.ForeGroundをBrush.Navy(または任意の色)に設定するだけです。 –

+1

ありがとうございました!私は私の問題を解決することができました!乾杯@ポール・ジャン –

関連する問題