Visual studio code VSCode不会向语言服务器发出DidRenameFiles通知
我目前正在我的语言服务器中为文件操作实现新的事件,这已在LSP协议版本3.16中引入。我的服务器应该能够对didRename、didDelete等做出反应,但到目前为止,我无法从VSCode获得这些通知 首先,在我的服务器功能中,我列出了文件操作,以告诉客户端我对这些事件感兴趣:Visual studio code VSCode不会向语言服务器发出DidRenameFiles通知,visual-studio-code,language-server-protocol,Visual Studio Code,Language Server Protocol,我目前正在我的语言服务器中为文件操作实现新的事件,这已在LSP协议版本3.16中引入。我的服务器应该能够对didRename、didDelete等做出反应,但到目前为止,我无法从VSCode获得这些通知 首先,在我的服务器功能中,我列出了文件操作,以告诉客户端我对这些事件感兴趣: "capabilities": { ... "workspace": { "fileOp
"capabilities": {
...
"workspace": {
"fileOperations": {
"didDelete": {
"filters": [
{
"pattern": {
"glob": "**/*.{rs,rd}"
}
}
]
},
"didRename": {
"filters": [
{
"pattern": {
"glob": "**/*.{rs,rd}"
}
}
]
}
}
}
}
此外,初始化完成后,服务器向客户端发送一个registerCapability
请求,该请求由VSCode确认。我单独注册了这些功能,因为在init消息中,VSCode表示应该使用文件操作的dynamicRegistration
{
"id": "register_caps",
"jsonrpc": "2.0",
"method": "client/registerCapability",
"params": {
"registrations": [
{
"id": "dhjas88-asdhjkahsd89as-dhas89",
"method": "workspace/didRenameFiles",
"registerOptions": {
"filters": [
{
"pattern": {
"glob": "**/*.{rs,rd}"
}
}
]
}
},
{
"id": "dhjas88-asdhjkahsd89as-dhas90",
"method": "workspace/didDeleteFiles",
"registerOptions": {
"filters": [
{
"pattern": {
"glob": "**/*.{rs,rd}"
}
}
]
}
}
]
}
}
确认:
{"jsonrpc":"2.0","id":"register_caps","result":null}
根据LSP规范,我现在希望VSCode在VSCode中重命名与glob匹配的文件后立即发送例如didrame通知。不幸的是,我从未收到过。通知不是由VSCode发送的
任何想法或线索,这里还缺少什么?我错过了协议的哪一部分,它阻止VSCode发送文件操作通知