2011-01-31 173 views
9

我使用VS 2010與resharper。如果我有一類叫做ConfigParserTests然後寫Resharper(或Visual Studio)自動完成

new ConfigParser(

代碼將自動完成對

new ConfigParserTests()

這不是我想要的。任何想法如何禁用這個討厭的功能。

[編輯]

什麼是想要的是寫出來

new ConfigParser()

不按 「ESC」。在這種情況下,我使用TDD,因此ConfigParser不存在。

[/編輯]

我一直在尋找周圍都ReSharper的和VS智能感知菜單沒有找到什麼有用的。

回答

3

選擇Resharper \ Options。從左側列表中選擇Enirionment \ Intellisence \ Completion行爲。

然後禁用「自動與完整的單項目:」下的複選框

5

目前尚不清楚,不管你是抱怨其類名它的填充,或括號。我會解決這兩個問題。

如果您嘗試使用的類位於另一個命名空間中,並且尚未添加相應的using,那麼代碼完成正在執行您期望的操作 - 您告訴它要使用哪些命名空間,並且你沒有告訴它使用ConfigParser中的那個;所以它按照預期使用最接近的匹配。

但是ReSharper的快捷鍵可以幫助您找到課程併爲您添加using,從而爲您節省工作時間。對於這種情況,我建議您查看ReSharper中的different Ctrl+Space options。您可以編寫new cp < Ctrl + Alt + Space >並且ReSharper會給你一個彈出菜單,詢問你的意思是ConfigParser還是ConfigParserTests。當您按回車鍵選擇您想要的那個時,它會將必要的using添加到文件的頂部,並在括號之間使用光標完成new ConfigParser()

(如果ConfigParser類不存在,那麼這是在哪裏你不想代碼完成的案例之一。只需鍵入new ConfigParser,然後輸入你開括號之前按Esc鍵。)

如果你的問題在於它增加了一個近似值,請注意,如果您鍵入) ReSharper不會添加第二個右括號 - 它會識別您輸入的已添加的paren,因此它只會將光標移動到對。如果由於某種原因,您仍然不希望它爲您完成公開的文件,@jdv-Jan de Vaan's answer說明在哪裏更改此偏好。

+0

+1:我會記得那一個。 – 2011-02-01 07:09:20

5

在做TDD,你應該把VS智能感知到建議模式而不是正常的完成模式的。

說明其差異here

不幸的是ReSharper的接管智能感知,所以你不能,不停止ReSharper的變化模式。

7

打開選項窗口,導航到智能感知> Autopopup。你會看到自動完成選項對應於若干情況下並按照語言分類:

Changing Resharper auto-complete behaviour


正如你看到的,你可以爲每個單獨的情況下,選擇:

  • 不要顯示。

  • 顯示但不預先選擇。(看起來適合您的情況)

  • 顯示和預選。(默認)


不同的方案可以在不同的情況下,或語言來選擇。例如,你可以在C#中指定不同的行爲:

  • 後的 '新'

  • 文檔註釋中的

  • 字母和數字

  • 預期價值

HTH

0

如果您使用ReSharper的6.0我會升級到6.1有很多這些類型的預選在6.0中引入並固定在6.1的bug的。

0

選擇ReSharper的\選項\環境\ Intellisence \完成時避開這些問題行爲 然後更改「完成後自動插入圓括號的選項:可以全部禁用所有真的老人的聲音我想輸入我自己的(),只打開或年輕髖關節鱈魚呃Dude我喜歡resharper爲我做這一切男人

相關問題