組み込み識別子get
およびset
は、プロパティ宣言で使用されると青色になります。
問題は、それらが通常のメソッド名として使用されている場合も青色であるということです。予想される動作は、他の通常のメソッドと同じ色であるということです。
この外観上の問題は、最新の公式Firestoreプラグインで名前が変更されたメソッドQuery.get()
およびDocumentReference.set()
導入されたため、より明確になりました。 また、他の人気のあるプラグインget_it
は、 get
という名前のメソッドを使用します。
これは、現在シンタックスハイライトを行う方法の制限です。 計画は、LSP移行の一部として、適切なセマンティックハイライトに切り替えることです。 https://github.com/Dart-Code/Dart-Code/issues/2202で、これについて未解決の問題があります(偶然にも私はこれに取り組んでいました!)
まだ完成していません(LSP仕様はまだ確定していません)が、 get
とset
でテストしたところ、メソッドの場合はメソッドと同じ色で、メソッドの場合はキーワードと同じ色になっています。 'reキーワード:
これを複製として閉じますが、出荷時の更新については#2202をサブスクライブできます(ただし、LSPサーバーはSDKに存在するため、Dart-CodeとSDKの両方の更新が必要になります)。
ありがとう!
https://github.com/dart-lang/sdk/commit/cb2ede57b7c91fb61c0cb05971cc1823faee2086で修正されました
修正を取得するには、Dart-Code v3.18.0(プレビューリリースは今日/明日遅くに利用可能になるはずです)、LSPプレビューを使用し、昨日以降のDart SDKを入手する必要があります(最新の夜間作業、およびもちろん、Dart / Flutter SDKの次のリリースにはこれが含まれます)。
土壇場での問題により、LSP 3.16(セマンティックトークンをサポート)のサポートはv3.18に含まれませんが、できればその後の次のリリースに含まれます。