11

人々が関数ヘッダーを入力してから、いくつかのキーの組み合わせを押して関数中括弧を自動作成し、その間にカーソルを次のように挿入するのを見たことがあると断言できます。

void foo()_

void foo()
{
    _
}

これは組み込みの機能ですか?

4

5 に答える 5

6

ツールは見栄えがしますが(特にResharperですが、200〜350ドルです!)、マクロを記録してctrl + alt+[に割り当てるだけで済みました。

マクロは次のように出てきました:

Sub FunctionBraces()
    DTE.ActiveDocument.Selection.NewLine
    DTE.ActiveDocument.Selection.Text = "{}"
    DTE.ActiveDocument.Selection.CharLeft
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.LineUp
    DTE.ActiveDocument.Selection.Indent
End Sub

編集:私はこれを作るためにマクロレコーダーを使用しました、そしてそれはそれほど悪くはありませんでした

于 2008-08-13T05:30:37.527 に答える
5

Resharperをチェックしてください-これは、他の多くの開発ヘルプの中でも、この機能を備えたVisualStudioアドオンです。

別のアドオンであるC#Completerも参照してください。

あなたがあなた自身を転がしたいならば、この記事をチェックしてください。しかし、それをしなければならないのは非常識です。

于 2008-08-13T05:20:34.147 に答える
2

これは、コードスニペットを使用して実現できます。一部はすでに組み込まれています(「svm」と入力してTAB-TABを押してみてください)。

これらの作成に関する情報はネット上に豊富にあります。

ジェフはここに自分で投稿しました

グーグルを持っている!私はそれらをたくさん使用します!:D

于 2008-08-13T05:14:51.693 に答える
2

ビジュアルアシストもご覧ください。

于 2008-08-13T05:15:22.283 に答える
0

上記の@Lukeに基づいて作成しました。これは、Enter キーを押してからキーの組み合わせを押すと、次のように挿入されます。

if ()
{

}
else
{

}

そして、カーソルを if ステートメントの括弧内に置きます。

Sub IfStatement()
    DTE.ActiveDocument.Selection.Text = "if ()"
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Text = "{"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "}"
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Text = "else"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "{"
    DTE.ActiveDocument.Selection.NewLine(2)
    DTE.ActiveDocument.Selection.Text = "}"
    DTE.ActiveDocument.Selection.LineUp(False, 7)
    DTE.ActiveDocument.Selection.EndOfLine()
    DTE.ActiveDocument.Selection.CharLeft(3)
End Sub
于 2012-09-05T15:47:09.540 に答える