IntelliJ的Rust插件在2019/02/14時增加了套件和型別的自動引用功能,在預設的情況下,當我們在Rust程式碼中用到了尚未引用進目前程式的使用範圍(scope)的套件或是型別,並使用自動完成(auto-completion)功能來插入程式碼時,這個Rust插件就會在目前的檔案最上層的部份加入extern crate關鍵字或是use關鍵字來引用。這個功能會造成開發者很大的不便,因為當我們選錯了要自動完成的項目時,還得手動找到那個錯誤被引用的crate或是型別來移除。



如下面這個官方的GIF動畫,就是在演示這個功能的用途:

intellij-rust-auto-import-disable

由於這個是個常會造成麻煩的功能,最好將其關閉。在IntelliJ的設定中,於EditorGeneralAuto Import分頁中,可以找到Rust程式語言的設定區塊。將Import out-of-scope items on completion項目取消勾選即可。

intellij-rust-auto-import-disable

另外,如果Show import popup項目沒有勾選的話,可以將其勾選。如此一來,當Rust插件發現開發者輸入了沒有被引用的套件或是名稱時,就會跳出一個浮動的氣泡訊息,提示可以按Alt + Enter鍵來自動引用。這個功能才是有幫助的!

intellij-rust-auto-import-disable