2017-06-16 223 views
1

一位同事ReSharper的定製模式遇到了一個問題,他不得不奇異的空白行方法頭如果條件後。我們的定製Resharper模板似乎並沒有解決這個問題。我知道有刪除這些空白行的選項,但這些選項也刪除字段之間的空白行等。例如,兩套專用字段之間的空白行可以指示不同類別的字段,無論標準如何。 所以我想實現的是:去除空行C#

public void Do() 

{ 
    if (true) 

    { 
    //something 
    } 
} 

成爲

public void Do() 
{ 
    if (true) 
    { 
    //something 
    } 

可以這樣通過正則表達式檢測空白行與自定義模式實現的呢?我從來沒有創建自定義的Resharper模式,如果這很重要的話,我仍然處於學徒階段。 在此先感謝!

+0

也許是值得嘗試更換'^ \ S * $'什麼也沒有和'\ n +'和'\ N' –

+0

但隨後一個代碼清理會刪除所有空行,不是嗎? – tweedledum11

+0

看到編輯答案。 –

回答

1

編輯

更深入地瞭解這一點,似乎有什麼你正在嘗試做的是不可能的ReSharper的模式之後。這是一個Jetbrains的傢伙寫道:

「與模式搜索被設計爲使用純代碼樹,忽略所有空白,評論等」 source

但是,這仍然是一個模式創作的好例子。

1。去Resharper => options => code inspection => custom pattern => add pattern

2。這是你的模式應該如何看起來像:

enter image description here

  • 請注意右窗格中 - 你必須添加「聲明的佔位符」命名$聲明$和「標識符佔位符」稱爲$ methodName $。

  • 將模式嚴重程度從「不顯示」更改爲「建議」或「警告」,或者您希望看到它。

  • +0

    這會涵蓋任何可訪問性和返回類型的方法嗎?我遵循了每一步,但現在Resharper將我所有的測試方法都標記爲錯誤,即使沒有空白行,並且應用模式也不會改變。 – tweedledum11