2009-08-26 56 views
0

我想單詞完成顯示所有匹配的類型名稱(不僅在導入的名稱空間中)。如果該類型的nampespace沒有被導入 - 它應該在我從列表中選擇類型時導入,並且如果該類型在未引用的程序集中 - 該程序集應該添加到項目引用(在提示符後添加導入和引用)當然)
試圖回憶確切的類型名稱,它的命名空間有時是真正的痛苦。 有沒有這種完成的產品? (是的,我知道關於Resharper。不,它不支持這個)Visual Studio - 更聰明的單詞完成想要

PS如果單詞完成可以顯示所有類型的文本中的任何地方有文本 - 不僅在開始。例如,我輸入「writer」 - 並完成向我顯示所有作者(TextWriter,StringWriter,StreamWriter等)

+5

這聽起來像一個可怕的想法。爲此,VS必須在啓動時加載每個程序集,然後在每次鍵入按鍵時搜索每個程序集。 VS在大型項目中已經存在性能問題。這將是一場噩夢。 – 2009-08-26 15:38:34

+1

並非所有組件,只有那些在GAC和當前項目中註冊的組件。並且不需要做出愚蠢的直接搜索 - 有許多有效的索引算法。 – skevar7 2009-08-26 15:48:07

+0

你是什麼意思與resharper「不支持這個」? Ctrl + Alt + Space爲我提供了所有可以訪問的類型。在很多情況下,當你寫下一個類型時,它會提示「添加Blabla引用項目和使用指令」。該列表可能是可定製的,但我沒有檢查。至於類型搜索,使用Ctrl + T,它允許通過類型進行通配符搜索,包括非解決方案類型! – flq 2009-08-26 15:59:19

回答

3

您應該看看ReSharper(Again)它支持功能的部分類型名稱或只寫駱駝案例類型名稱的大寫字母,例如SomeType可以在ST中找到。

任何工具將尋找可能的類型的程序集的數量總是被限制。畢竟,除非您告訴工具有關組件(以某種方式告訴GAC中的程序集,參考它或任何其他方式),工具將根本無法知道該組件,因此不會搜索它。最重要的是,你真的不希望該工具搜索到很多程序集,因爲那樣你就可能冒險完成任何類型的全名,然後該工具將被搜索到

+0

我再次看了一遍,在Resharper中看不到部分名稱搜索。當輸入「Writer」時,雖然「System.IO」命名空間被導入,但它不顯示任何建議。 而且,檢查所有GAC程序集*可能會太慢。不過,查看當前項目引用的程序集肯定不會太慢。 – skevar7 2009-08-26 15:55:57

+0

部件名稱是根據快捷鍵佈局選擇的快捷鍵ctrl-t或ctrl-n – 2009-08-26 16:17:04

+0

Ctrl + T是通配符搜索,*不是*部件名稱搜索。更精確。 不完全是我想要的,但它總比沒有好,但。 – skevar7 2009-08-26 16:33:30

1

你在找什麼是c#整形。 只需在類似MD的地方輸入內容,然後按下Ctrl +空格鍵即可調出各種標準包含。只需按空格確認(在這種情況下,MD5將顯示)。它也學習你最常用的東西。

3

對或錯,intellisense的目標是爲當前編輯位置提供法律完成。這絕不是100%準確的,但我們力爭僅列出有效的完成。

顯示未導入的類型名稱和/或未在裝配中顯示的類型名稱當前項目引用在此方法面前飛行。而是建議已知對用戶不合法的代碼。

真的,我們可以通過添加程序集引用返回並修復此問題。但有些用戶可能會覺得這很煩人。他們正在輸入代碼,並且突然引用被添加並且它們的導入被改變。

我不是說這必然是一個壞的功能,只是它違背了當前的設計理念,並有可能使很多用戶感到不適。

+0

我希望我可以多次投票! – 2009-08-26 16:03:45

+0

我寫了「提示符後添加引用」: - / – skevar7 2009-08-26 16:06:37