2010-09-28 76 views
1

我的光標(管道)位於子類的主體內部。我鍵入「覆蓋」,然後按Tab鍵查看FooContext中的方法列表,我可以覆蓋它。 「上下文」是其中一個選項,所以我選擇它。VS:生成替代方法時的光標位置

public class BarContext : FooContext { 
    protected override void Context() { 
     |base.Context(); 
    } 
} 

VS爲我生成重寫方法,並將我的光標(再次,管道)調用到基方法之前。

我怎樣才能讓VS完成我的光標後的狀態方法調用(或它下面的一個新行) - 但仍然覆蓋方法中,當然?

+0

雖然它不是一個問題的答案,但我想我應該注意到這個不是ReSharper功能,而是VS原生功能:) – 2010-09-28 18:39:50

+0

Mea culpa。我糾正了這個問題。 – lance 2010-09-28 19:24:01

回答

0

我不知道改變這種行爲。

只是習慣以後按END> ENTER。 :)

+0

我也可以按Ctrl-Enter在下面創建一個新的空行,並讓我的光標從「base」之前自動移動。直接在下面,在新的空行上。 – lance 2010-09-30 13:59:13

1

正如伊利亞正確指出,你顯示的是Visual Studio的默認行爲。

以下是您可以如何使用ReSharper進行操作的方法。

轉到ReSharper>選項>語言>常用>成員生成並確保「生成的成員默認主體樣式」設置爲「返回默認值」。這將迫使ReSharper在重寫的方法中生成基調用。

只要您有從基類派生的繼承類聲明,請按Alt + Ins,然後在彈出菜單中選擇「覆蓋成員」。 選擇要覆蓋的成員(除了基類的方法外,還有Object方法),然後單擊Finish。

因此,ReSharper將在基礎調用和第一個基礎調用之後生成基本調用和脫字符號的覆蓋方法。