20

シンタックスハイライトにいくつかの追加機能を追加できるVS2010の拡張機能を開発したいと思います。

SDKをインストールしましたが、どのように始めればよいですか?

開始方法を確認できる小さなスニペット(またはコードへのリンク)を提供してください。

:コードのブロック全体をチェックする必要がありますか、それともSDKが各単語でそれが何であるか、どのように宣言されているかなどを教えてくれますか?

4

2 に答える 2

21

分類子を作成するための適切な情報があります。しばらく前にブログ記事を書きました。

サンプル/コードに関しては、次のものがあります。

  • SDKに付属しているプロジェクトテンプレート(C#->拡張性の下を見てください)
  • (ブライアンの答えは言及しています)Ook言語サービス
  • 分類子を作成するためのテンプレート(リンクはテンプレートのソース用であるため、$ foo $の部分のテンプレートを解除する必要があります)
  • diff分類子(かなり古い)
  • 私のgithubページのさまざまなプロジェクトにある他のいくつかの分類子。

SDKが各単語が何であるかを教えてくれるかどうかについての質問の他の部分への答えは、「いいえ」ですが、いくつかの「ちょっとした」警告があります。一般に、基礎となる言語モデルは公開されていませんが、十分な情報が得られることを期待して、他の分類子からの分類情報を利用するなどのことができます。C#のように、デフォルトのフォントと色の設定ではIDEに表示されない可能性のある大量の情報を提供する傾向があります([ツール]->[オプション]->[環境]->[フォントと色]の設定を確認して、必要かどうかを確認してください。変更はすでにあるかもしれません)、そしてVBのような他のものはそうしない傾向があります。DTEのCodeModelのようなものを使用することもできますが、誰かがそれを本当に良い経験をしているとは聞いたことがありません。

分類情報を消費する例が必要な場合は、このCommentTextTagger.cs(スペルチェッカー拡張機能の一部)がどのようにそれを行うかを確認できます。

于 2010-07-16T05:54:18.987 に答える
2

あなたはチェックアウトするかもしれません

http://code.msdn.microsoft.com/ookLanguage

これは、C#サンプルの「OokTokenTag.cs​​」に構文ハイライトがあります。もちろん、テキストのブロック全体を解析する必要がありますが、これはそれほど難しいことではありません。

( http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/657212c1-1685-4ed6-be2f-cbf34fcc5b20からそのリンクを見つけました)

于 2010-07-15T18:06:28.603 に答える