2012-10-11 56 views
38

Visual Studio有一個選項,可以在排序時將系統指令放在頂部。如何讓ReSharper使用系統命名空間進行排序?

enter image description here

當設置爲選中,分揀using語句通過右鍵單擊並使用按字母順序組織Usings特徵,地方系統命名空間以及所有其他的命名空間進口。

但是,ReSharper似乎沒有兌現這個設置,它在它自己的Namespace Imports選項頁面上也沒有任何類似的東西。它總是表現得好像你想要頂部的系統命名空間。當你已經有一些在底部,你讓ReSharper建議一個要導入的命名空間時,這是特別煩人的,那麼你最終會在列表的兩端都有一些。

有沒有辦法解決這個問題?或者這只是ReSharper中的一個錯誤/監督?

回答

8

我又下了ReSharper 8測試這個,看看它是否是固定的,我注意到一些有趣的事情:

  • 如果我現有的命名空間已經System項目第一,然後ReSharper的將插入下面這些新的命名空間。

  • 如果我現有的命名空間至少有一個項目System項目,然後將ReSharper的按字母順序插入新的命名空間。

  • ReSharper的行爲是相同的不管的Visual Studio的設置。它只考慮現有命名空間 - 而不是 Visual Studio的設置。

所以,如果我有以下幾點:

using A; 
using System; 
using Z; 

然後,如果我使用一個類從命名空間B和alt-進入讓ReSharper的添加命名空間,它最終將成爲:

using A; 
using B; 
using System; 
using Z; 

,如果我只有這個:

using System; 
using Z; 

我做同樣的事情,那麼我會得到:

using System; 
using B; 
using Z; 

而且也不要緊VS的設置是什麼。

我認爲這是ReSharper 7中發生的事情,我也沒有注意到。

+0

我使用r#2017.2,它似乎不工作。總是使用被放在頂部。 –

12

我使用ReSharper 7,至少對我來說ReSharper從Visual Studio選項中選擇「系統指令排序選項」。

有時,當VS和ReSharper設置被搞砸時,它有助於從工具 - >導入和導出設置 - >重置所有設置來重置Visual Studio設置。

+3

我已經檢查過多個工作站,重新安裝等。當它沒有被選中時,Resharper沒有兌現VS設置。 –

+0

@MattJohnson在Resharper(8.2)的當前版本中仍然如此。 Resharper總是首先放置系統指令。 – jmsb

+0

@MattJohnson我也看到這一點,這很糟糕。 –

相關問題