0

以下は、1 行の IF ステートメントの簡単な例です。

if(condition)
    something = "blah";

単純なことに頻繁に使用していることに気づきましたが、後でアプリケーションを拡張するときに、それらを複数行の if ステートメントに拡張します

if(condition)
{
    something = "blah;
    somethingElse = "blar";
}

しかし、これを行うにはいくつかの手順を実行する必要があるため、これは非常にイライラします。最初の中かっこを入力すると、コード フォーマッター (Visual Studio? Resharper?) が 2 番目の (閉じ) 中かっこを入力し、次のように書式設定します。

if(condition) { }
something = "blah";

次に、右中かっこを選択して削除し、独自の書式設定を行って正しく表示する必要があります。

resharper または Visual Studio で、一行の IF ステートメントを囲む中括弧を自動的に入力する便利な方法はありますか? 例: 条件の後に左中括弧を入力すると、次のように自動的にフォーマットされます

if(condition)
{
    something = "blah";
}
4

1 に答える 1

1

できることは、「if($ expression)」部分のないifコードスニペットとまったく同じ新しいスニペットを定義することです。

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>multiif</Title>
            <Shortcut>multiif</Shortcut>
            <Description>Code snippet for multiline if statement</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>expression</ID>
                    <ToolTip>Expression to evaluate</ToolTip>
                    <Default>true</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[
    {
        $selected$ $end$
    }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

次に、次の方法でこのスニペットをVisualStudioにインポートできます。

  1. [ツール]メニューから[コードスニペットマネージャー...]を選択します。
  2. [インポート...]ボタンをクリックします。
  3. 新しいスニペットファイルに移動します。

または:新しいスニペットファイルをC:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC#\ Snippets \ 1033 \ Visual C#にコピーします

次に、c#ファイル内の1行のifステートメントの本文を選択し、右クリックして[Surround With ...]を選択し、新しいスニペットを選択します。

于 2012-05-20T19:43:08.380 に答える