2011-04-23 68 views
11

我安裝了StyleCop和ReSharper 5的相關插件。在煩惱它後,我刪除了插件和StyleCop,但ReSharper仍在使用一些StyleCop行爲 - 最顯着的是將using語句移動到在名稱空間聲明中,而不是將它們保留在聲明之外。正確刪除StyleCop R#插件

例如說,你有以下來源:

using System; 
using System.Web; 

namespace Foo.Bar 
{ 
    //// 
} 

和文件坐在Foo/Bar/Widget目錄中,使用ReSharper的修復命名空間的工具,我期望的文件保持不變,但命名空間已經改變到Foo.Bar.Widgets(這是它在StyleCop出現之前展現的行爲)。

但是現在它重新安排文件:

namespace Foo.Bar.Widget 
{ 
    using System; 
    using System.Web; 

    //// 
} 

現在撇開人的個人喜好有關哪一個更好,我不喜歡它,它是與我們現有的代碼不一致。在重命名命名空間之後不得不手動移動使用語句需要比手動重命名命名空間要長。

有沒有人知道如何解決這個問題(我假設有一個文件或東西仍然從安裝,或尚未恢復的配置徘徊)。

回答

10

您可以在此更改:

ReSharper的 - >選項 - >語言 - > C# - >命名空間導入 - >添加使用指令最深的範圍

更新 - ReSharper的9這選項現在移到:

ReSharper的 - >選項 - >代碼編輯 - > C# - >代碼樣式 - >附圖資格

+0

你是冠軍。奇怪的是 - 我不記得曾經改變過這個設置,並且只要我記得,使用R#並沒有這樣做。無論如何,取消勾選它可以解決問題。乾杯。 – 2011-04-23 03:53:55

+3

ReSharper從來沒有這種默認。 StyleCop插件改變這個設置,並且在卸載後沒有/ t還原回 – 2011-04-24 13:05:49

+1

@Evgeny,我編輯了答案以刪除有關R#默認行爲的錯誤陳述。 – 2011-09-02 16:32:57

10

我剛剛有同樣的問題。事實證明,StyleCop設置存儲在ReSharper設置的「This Computer」層。有關圖層列表,請參閱ReSharper>管理選項

我只是重置了「This computer」層;這是可能的,因爲我從來沒有故意修改它。