Ini mencegah tindakan kode bekerja pada editor yang mengharapkan nomor versi yang dikembalikan menjadi >= dari apa yang dikirim ke LS.
tsserver
mengirim kembali versi yang sama dan tindakan kode berfungsi dengan baik.
https://github.com/neovim/neovim/blob/c1fbc2ddf15b2f44b615f90b2511349ab974cb83/runtime/lua/vim/lsp/util.lua#L265 -L272
Berikut kode dari neovim-lsp
yang memeriksa nomor versi.
Akan mengedit lebih banyak informasi ketika saya menemukan perbedaan antara svelteserver
dan tsserver
terkait pengiriman nomor versi.
Sunting : Untuk saat ini ini tidak berfungsi:
Code Actions:
1. (svelte) Disable missing-declaration for this line
2. Import 'teenStyle' from module "./helpers"
Mungkin baris ini perlu mendapatkan versi yang benar https://github.com/sveltejs/language-tools/blob/eac5c7478aebe949bb4337126f38a45b46be8c10/packages/language-server/src/plugins/typescript/features/CodeActionsProvider.ts#L146
Untuk file Svelte ini seharusnya bisa dilakukan, untuk file TS / JS namun kita harus membiarkannya seperti saat ini karena kita tidak tahu harus mengaturnya karena kita tidak mendapatkan versi dokumen saat ini.
Untuk file Svelte ini seharusnya bisa dilakukan, untuk file TS / JS namun kita harus membiarkannya seperti saat ini karena kita tidak tahu harus mengaturnya karena kita tidak mendapatkan versi dokumen saat ini.
Maksud Anda situasi ketika kita perlu menerapkan perubahan pada file js/ts eksternal karena tindakan kode dalam komponen langsing?
Tidak bisa memikirkan contoh sekarang. :pemikiran:
Sangat menarik, saya belum menguji apa yang akan terjadi jika saya menggunakan rename di file .ts
. Apakah perubahan itu akan tercermin dalam komponen langsing... :thinking:
br. :senyum:
Wah... tidak akan. Jadi sepertinya server bahasa langsing harus dikonfigurasi untuk file .ts|.js
dalam proyek langsing juga?
Itu tidak dan memungkinkan ini dilacak di # 580
Mengganti nama dalam file Svelte yang memengaruhi file JS adalah contoh di mana server bahasa mengembalikan hasil edit untuk file JS/TS.
Untuk file Svelte ini seharusnya bisa dilakukan, untuk file TS / JS namun kita harus membiarkannya seperti saat ini karena kita tidak tahu harus mengaturnya karena kita tidak mendapatkan versi dokumen saat ini.
Dalam spesifikasi textDocument
dari TextDocumentEdit
adalah OptionalVersionedTextDocumentIdentifier
, jadi versinya bisa null
, dan seharusnya null
sebagai gantinya 0 jika server tidak dapat memberikan nomor versi yang benar.