
ホバーとクイック情報
ホバーは C# と F# の両方に実装されています。リクエストは Roslyn または FCS にルーティングされ、現在の未保存の文書テキストを対象に評価されます。
C# ホバー
C# のホバーには、次の情報が含まれる場合があります。
- 完全修飾されたシンボルシグネチャ、修飾子、パラメーター、nullable 注釈
- メンバーが属する型
[Obsolete]メッセージ- レンダリングされた XML ドキュメント
var、数値リテラル、ラムダパラメーター、タプル要素、パターン変数の推論型
文字列リテラルと文字リテラルでは、意図的にツールチップを返しません。Roslyn は宣言と参照の両方を解決するため、ホバーは定義上でも使用箇所でも機能します。
F# ホバー
F# のホバーは FCS の拡張ツールチップを使用します。F# シグネチャを含む Markdown コードブロックを返し、利用可能な XML ドキュメントをレンダリングします。関数、値、型、メンバー、判別共用体のケース、およびその他の FCS シンボルをサポートします。
ライブバッファでの動作
文書を開いたとき、および変更したときに、SharpLsp は文書の全文を対応するサイドカーへ送信します。そのため、ホバーにはディスクへ保存されていない編集内容も反映されます。置き換えられた古い文書バージョンへのリクエストが、より新しいナビゲーション状態を上書きすることはありません。
失敗時の動作
その位置にシンボルが存在しない場合、サイドカーが無効な場合、または解析に失敗した場合、SharpLsp は作り出した情報を提示せず null を返します。サイドカーのライフサイクル監視によって、障害が発生したサイドカーを再起動できますが、障害に遭遇したリクエストではツールチップが返されないことがあります。