簡體   English   中英

vscode LSP 擴展,如何讓自定義操作出現在下拉菜單中?

[英]vscode LSP extension, how to get a custom action to appear in the dropdown menu?

我正在編寫一個 LSP 服務器和 vscode 客戶端,並且有一個服務器端 CodeAction,我希望用戶能夠在他們的 cursor 在文本文件中時隨時調用它。

我可以看到如何在服務器端定義自定義代碼操作,但我只是不知道如何在客戶端公開它們。

例如,想象一下我想要“CrAzYcAsE at point”這個動作,我希望當用戶右鍵單擊文件中的任意位置時,它在菜單中顯示為一個選項(我希望他們能夠將它綁定到一個組合鍵,如果他們希望,甚至可能有一個默認值)。

在許多方面,這與有沒有辦法通過 CodeAction 請求執行自定義操作的方法相反?

我懷疑答案可能是根據https://code.visualstudio.com/api/references/vscode-api#commands定義自定義命令,但這沒有給出調用 LSP 的 CodeAction 端點的命令的任何示例.

請注意,我無法將其實現為 CodeAction“quickfix”,因為只有用戶知道何時需要調用該操作。 注冊一個 quickfix 意味着黃色問號會出現在用戶的所有行上,這會讓用戶分心。

您是否試圖允許用戶從 Contect 菜單中針對特定的“codeActionKind”觸發“codeActionRequest”?

我知道您可以通過“package.json”的貢獻部分添加上下文菜單項。 目前我能想到的唯一方法是在客戶端注冊一個自定義命令,該命令將觸發調用具有特定 arguments 的內置代碼操作功能。

如果您已經想出辦法,我很想知道 typescript 中不需要客戶端實現的更好方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM