Vscode-rust: Entri penyelesaian yang digandakan

Dibuat pada 18 Feb 2019  ·  5Komentar  ·  Sumber: rust-lang/vscode-rust

Saya telah menggandakan entri dalam daftar penyelesaian. Duplikasi tidak ada di mana-mana, tetapi misalnya, untuk env::args(). semua fungsi akan muncul 3 kali.

Berikut gif dengan demo:
2019-02-18 22-56-35 2019-02-18 22_57_05

VSCode: 1.31.1
Versi ekstensi: 0.5.3
Ekstensi penyelesaian RLS atau Rust lainnya tidak diinstal.

bug rls

Komentar yang paling membantu

@Xanewok saya kira masalah ini terus berlanjut.

$ racer complete 16 9 src/main.rs
PREFIX 289,289,
MATCH username,2,4,src/main.rs,StructField,String
MATCH email,3,4,src/main.rs,StructField,String
MATCH sign_in_count,4,4,src/main.rs,StructField,u64
MATCH active,5,4,src/main.rs,StructField,bool
END

Namun, dalam Kode VS, tampilannya seperti ini:

rust

Tolong beri tahu saya jika Anda memerlukan informasi debug lainnya.

Semua 5 komentar

Ok, jadi sepertinya masalah di RLS itu sendiri. Apa yang saya pahami dari deskripsi - ia menggunakan pembalap untuk memberikan penyelesaian. Mencoba memanggil pembalap secara manual. Berikut hasilnya:

λ racer complete 3 16 src/main.rs | rg collect
MATCH collect,1476,7,/Users/rpeshkov/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src/libstd/../libcore/iter/iterator.rs,Function,fn collect<B: FromIterator<Self::Item>>(self) -> B where Self: Sized

Jadi, collect hanya muncul sekali dalam hasil racer.

Juga, meluncurkan inspektur LSP dari Microsoft untuk memeriksa server bahasa apa yang dikirim ke VSCode dan menemukan ada 3 kemunculan fungsi collect dan juga fungsi lainnya. berkas log:
rust.log .

Tidak berhasil mengatur lingkungan rls dapat di-debug. Aku noob di karat. Semoga besok sukses :)

Oke, sudah tahu masalahnya. Hadiah jatuh ke pembalap. Saya telah menguji penyelesaian pembalap sementara saya memiliki versi 2.0. RLS dibangun terhadap versi 2.1. Ketika saya memeriksa apa yang terjadi ketika saya memanggil racer complete 3 16 src/main.rs pada racer 2.1 - itu mengembalikan saya entri duplikat. Itu terjadi karena sebelum deduplikasi kecocokan, kecocokan tidak diurutkan dan fungsi dedup_by hanya menghapus elemen berurutan.

Memperbaiki perilaku ini di Racer dan membuka PR https://github.com/racer-rust/racer/pull/1021

Diperbaiki di https://github.com/rust-lang/rls/pull/1402 , harus tersedia di toolchain malam terbaru dalam 1-2 hari.

Menutup ini sebagai tetap (ingat bahwa itu tersedia sejak Rust 1.35 )

@Xanewok saya kira masalah ini terus berlanjut.

$ racer complete 16 9 src/main.rs
PREFIX 289,289,
MATCH username,2,4,src/main.rs,StructField,String
MATCH email,3,4,src/main.rs,StructField,String
MATCH sign_in_count,4,4,src/main.rs,StructField,u64
MATCH active,5,4,src/main.rs,StructField,bool
END

Namun, dalam Kode VS, tampilannya seperti ini:

rust

Tolong beri tahu saya jika Anda memerlukan informasi debug lainnya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

iBeizsley picture iBeizsley  ·  3Komentar

simobiggs picture simobiggs  ·  4Komentar

fzzr- picture fzzr-  ·  4Komentar

alexreg picture alexreg  ·  3Komentar

views63 picture views63  ·  5Komentar