【问题标题】:auto formatting one lined statement to multi-line in visual studio在 Visual Studio 中自动将一行行语句格式化为多行
【发布时间】:2012-05-27 10:16:33
【问题描述】:

这是一个单行 IF 语句的简单示例。

if(condition)
    something = "blah";

我发现自己经常将它们用于简单的事情,但后来在扩展应用程序时,将它们扩展为多行 if 语句

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

但我觉得这很令人沮丧,因为我必须经过几个步骤才能做到这一点。当我输入第一个大括号时,我的代码格式化程序(Visual Studio?Resharper?)继续输入第二个(右)大括号,并将其格式化如下:

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

然后我必须选择并删除右大括号,并进行自己的格式化以使其看起来正确。

有没有一种方法可以方便地让 resharper 或 Visual Studio 自动在单行 IF 语句周围输入大括号?例如:我在条件之后输入了一个左大括号,它会自动将其格式化为

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

【问题讨论】:

标签: visual-studio-2010 resharper-6.0


【解决方案1】:

您可以做的是定义一个新的 sn-p,它与 if 代码 sn-p 完全一样,没有“if ($expression)”部分:

<?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>

然后你可以通过以下方式将这个 sn-p 导入到 Visual Studio 中:

  1. 从工具菜单中选择代码片段管理器...。
  2. 单击“导入...”按钮。
  3. 导航到新的 sn-p 文件。

或: 将新的 sn-p 文件复制到 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Visual C#

然后您可以在 c# 文件中选择单行 if 语句的主体,右键单击并选择 Surround With... 然后选择新的 sn-p。

【讨论】:

  • 这不是我想的那样,但它确实有效。谢谢。
猜你喜欢
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-31
  • 2014-08-25
  • 1970-01-01
  • 2012-12-12
  • 2020-07-08
相关资源
最近更新 更多