我正在创建语言服务器,并观察javascript
文件的更改。下面是注册文件类型的代码。
const clientOptions = {
// Register the server for plain text documents
documentSelector: [
{ scheme: 'file', language: 'plaintext' },
{ scheme: 'file', language: 'javascript' },
],
synchronize: {
// Notify the server about file changes to '.clientrc files contain in the workspace
fileEvents: vscode.workspace.createFileSystemWatcher('**/*')
}
};
服务器端的onDidChangeContent
不会触发以Untitled-1
为标题的文件,该文件是在vscode上临时创建的。我如何收听此文件更改?
答案 0 :(得分:0)
尝试将untitled
方案与file
方案一起注册:
const clientOptions = {
documentSelector: [
{ scheme: 'file', language: 'plaintext' },
{ scheme: 'file', language: 'javascript' },
{ scheme: 'untitled', language: 'plaintext' },
{ scheme: 'untitled', language: 'javascript' },
],
...
};
这应该让主机知道将尚未保存到磁盘的新的无标题文件发送给您的服务器。如果要同步所有scheme
和javascript
文件,也可以选择完全省略plaintext
。