Language-tools: [LS] 代码操作不返回带有 textDocument 的版本

创建于 2021-03-02  ·  5评论  ·  资料来源: sveltejs/language-tools

这可以防止代码操作在编辑器上工作,这些编辑器期望返回的版本号 >= 发送到 LS 的版本号。

tsserver发送回相同的版本,代码操作工作得很好。

https://github.com/neovim/neovim/blob/c1fbc2ddf15b2f44b615f90b2511349ab974cb83/runtime/lua/vim/lsp/util.lua#L265 -L272
这是neovim-lsp中检查版本号的代码。

当我发现svelteservertsserver关于发送版本号的差异时,将编辑更多信息。

编辑:现在这些不起作用:

Code Actions:                                                                     
1. (svelte) Disable missing-declaration for this line
2. Import 'teenStyle' from module "./helpers"
Fixed bug

所有5条评论

对于 Svelte 文件,这应该是可行的,对于 TS / JS 文件,我们应该将其保留为当前,因为我们根本不知道将其设置为什么,因为我们没有获得这些文件的当前文档版本。

对于 Svelte 文件,这应该是可行的,对于 TS / JS 文件,我们应该将其保留为当前,因为我们根本不知道将其设置为什么,因为我们没有获得这些文件的当前文档版本。

您是说由于 svelte 组件中的代码操作而需要对外部 js/ts 文件应用更改的情况吗?

现在想不出例子。 :思维:

有趣的是,我还没有测试如果在.ts文件中使用重命名会发生什么。 这种变化会反映在纤细的组件中吗... :thinking:
伯伯。 :微笑:

哇……不会。 所以看起来svelte语言服务器也应该为svelte项目中的.ts|.js文件配置?

它没有,并且在 #580 中跟踪了这一点

影响 JS 文件的 Svelte 文件中的重命名是语言服务器返回 JS/TS 文件编辑的示例。

对于 Svelte 文件,这应该是可行的,对于 TS / JS 文件,我们应该将其保留为当前,因为我们根本不知道将其设置为什么,因为我们没有获得这些文件的当前文档版本。

在规范中TextDocumentEdittextDocumentOptionalVersionedTextDocumentIdentifier ,所以版本可以是null ,它应该是null如果服务器无法提供正确的版本号,则为 0。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

AlexGalays picture AlexGalays  ·  5评论

baileyherbert picture baileyherbert  ·  3评论

canadaduane picture canadaduane  ·  5评论

JAD3N picture JAD3N  ·  5评论

maximedupre picture maximedupre  ·  5评论