1

My cursor (the pipe) is inside the body of the child class.

public class BarContext : FooContext {
    |
}

I type "override" and press tab to view a list of methods in FooContext which I can override. "Context" is one of the options, so I select that.

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

VS generates the override method for me and places my cursor (again, the pipe) just before the call to the base method.

How can I make VS finish my cursor after the base method call (or on a new line below it) -- but still within the override method, of course?

4

2 に答える 2

1

Ilya が正しく指摘したように、表示されているのは Visual Studio の既定の動作です。

ReSharper でやりたいことを実行する方法は次のとおりです。

ReSharper > オプション > 言語 > 共通 > メンバーの生成に移動し、「生成されたメンバーのデフォルトの本文スタイル」が「デフォルト値を返す」に設定されていることを確認します。これにより、ReSharper はオーバーライドされたメソッドでベース コールを生成するようになります。

基本クラスから派生した継承クラスの宣言があるとすぐに、 Alt+Ins を押して、ポップアップメニューで「メンバーのオーバーライド」を選択します。オーバーライドするメンバーを選択し (基本クラスのメソッドに加えてオブジェクト メソッドがあります)、[完了] をクリックします。

その結果、ReSharper は、最初のベース コールの直後にベース コールとキャレットを持つオーバーライド メソッドを生成します。

于 2010-09-28T19:15:36.747 に答える
0

とにかくその動作を変更することに気づいていません。

あとで END > ENTER を押すことに慣れてください。:)

于 2010-09-28T18:22:32.413 に答える