【问题标题】:How to automatically position the cursor BETWEEN method braces after typing the closing brace in C#?如何在 C# 中键入右大括号后自动将光标定位在方法大括号之间?
【发布时间】:2008-11-21 21:26:30
【问题描述】:

每当我在 VS 2008 (C#) 中创建方法签名时,我都会输入两个大括号:

public void Something() {}

这会将光标留在右大括号的右侧。然后我必须使用箭头键将光标重新定位在大括号之间。有没有更好的方法来做到这一点而不使用箭头键?

我希望它在我键入右括号时将光标放在大括号之间,这样我就可以开始键入代码了。

【问题讨论】:

  • 你真的应该这样标记正确的答案,给予回答者信用。

标签: c# visual-studio


【解决方案1】:

我目前没有vs2008。假设 VS2008 仍然支持这个,你可以使用代码 sn-ps。在下面弄乱,直到你得到你需要的东西。 (见工具|代码片段管理器)

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>b</Title>
            <Shortcut>b</Shortcut>
            <Description>Braces with cursor inside</Description>
            <Author>CrashCodes</Author>
        </Header>
        <Snippet>
            <Code Language="csharp"><![CDATA[{
                     $end$
            }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>  

【讨论】:

    【解决方案2】:

    我相信 Resharper 会这样做。不确定是否有免费选项。

    【讨论】:

      【解决方案3】:

      这是一个宏,用于在光标后插入大括号并将光标放在它们之间的行上

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

      【讨论】:

        【解决方案4】:

        您可以录制一个插入 } 的宏,然后移动光标,然后将该宏分配给 shift+] 组合键,这样您的右大括号始终会执行您的宏。

        【讨论】:

          【解决方案5】:

          CodeRush 也这样做。

          【讨论】:

            猜你喜欢
            • 2011-09-26
            • 1970-01-01
            • 2021-09-04
            • 2021-02-26
            • 1970-01-01
            • 2011-03-23
            • 1970-01-01
            • 2015-01-18
            • 1970-01-01
            相关资源
            最近更新 更多