Semantic Coloring - ChenCMD/datapack-helper-plus-JP GitHub Wiki
- はじめに
- 切り替え
- 技術的な情報
-
FAQ
- Q: 私はVSCodeを使っているのですが、mcfunctionへのシンタックスハイライトを行うArcensoth氏の'language-mcfunction'はまだ使用可能ですか?
- Q: 私はVSCodeを使っているのですが、色のカスタムはできますか?デフォルトの色はちょっと
- Q: セマンティックカラーリングをオフにできますか?
- History
セマンティックカラーリングは、コマンド引数に意味のあるさまざまな色で強調表示できる機能です。
datapack.features.semanticColoring
設定を切り替えて、DHPのセマンティックカラーリングを有効/無効にすることができます。
また、VSCodeを使用している場合はeditor.semanticHighlighting.enabled
がtrue
に設定されていることを確認してください
trueにしないとエディターはこれらの色をレンダリングしません。
annotation
boolean
comment
entity
keyword
literal
namespacedID
number
operator
property
string
type
variable
vector
declaration
deprecated
documentation
firstArgument
Semantic Token Selector | TextMate Scope | 備考 |
---|---|---|
annotation |
markup.heading.annotation.mcfunction |
docコメントのアノテーション |
boolean |
constant.language.boolean.mcfunction |
boolean値 |
comment |
N/A | |
entity |
support.class.entity.mcfunction |
entityもしくはscore保持者 |
keyword |
N/A | 数値範囲を指定する.. とtimeの単位 |
literal |
keyword.other.mcfunction |
リテラル引数 |
literal.firstArgument |
keyword.control.mcfunction |
最初のリテラル引数 |
namespacedID |
entity.name.function |
名前空間ID |
number |
N/A | |
operator |
N/A |
matches , = , /= など |
property |
N/A | エンティティセレクタ引数キー, ブロックプロパティキー, NBT複合タグキー, およびNBTパスキー |
string |
N/A | |
type |
N/A | アイテムのslots, スコアボードのslots, スコアボードのcriteria |
variable |
N/A | Objectives, teams, tags |
vector |
constant.numeric.vector.mcfunction |
座標 |
-
N/A
は、このトークンが言語サーバープロトコルに組み込まれたトークンであり、すでにデフォルトのスタイルを持っているはずであることを意味します。
ぜひどうぞ。私達はArcensoth氏のlanguage-mcfunction拡張機能を使うことをおすすめします。language-mcfunction拡張機能では正規表現に基づいてクライアント側で処理されるTextMate文法を使用していますが、言語サーバーのセマンティックカラーリングはセマンティックトークンに基づいてサーバー側で処理されます。 その結果、language-mcfunctionの処理速度はDHPよりもはるかに高速です。language-mcfunctionとDHP両方を使うことでコマンドを入力している間にlanguage-mcfunctionよりフィードバックをすぐに得ることができ、その後言語サーバーより提供される正確な色に置換されるかもしれません。
また、言語サーバが提供するセマンティックカラーリングにはいくつかの欠点がありますが、これは主に設計上の問題です。
- テキストコンポーネントの色付け をArcensothのlanguage-mcfunctionは提供していますが、言語サーバは提供していません。これは、言語サーバーがVSCodeのvscode-json-languageserviceパッケージを使用してテキストコンポーネントの補完と検証を提供しているためで、セマンティックカラーリングをサポートしていないからです。
- エンティティセレクタの括弧やコンマのような句読点の色付け をArcensothのlanguage-mcfunction は提供していますが、言語サーバーは提供していません。
もちろん! 実際のところ、言語サーバーが提供している色は抽象的です。VSCodeのテーマのセマンティックトークンに基づいた色を使用しています。
色の変更方法については、VSCodeの ドキュメント を参照してください。 言語サーバーで使用されているセマンティックトークンの種類/修飾子はこのページで確認できます。
もちろん! editor.semanticHighlighting.enabled
か datapack.features.semanticColoring
を設定からオフにしましょう。
Version | 説明 |
---|---|
1.13.0 | セマンティックカラーリングを実装 |
2.0.0 | セマンティックカラーリングを追加 |