在Visual Studio中将多行代码格式化为单行

Mik*_*ynn 11 resharper code-formatting keyboard-shortcuts visual-studio visual-studio-2013

是否有键盘快捷方式或快速方法将以下代码更改为Visual Studio 2013中的单行?我也安装了Resharper.

new XElement("Option",
            new XAttribute("Name", "FileDelete"),
            "1"
        ),
Run Code Online (Sandbox Code Playgroud)

new XElement("Option", new XAttribute("Name", "FileDelete"),"1" ),
Run Code Online (Sandbox Code Playgroud)

Wap*_*ull 12

对于 VS2019,默认绑定设置为Shift+ Alt+ L+J

或者你可以通过以下方式将其重新绑定到其他东西Tools -> Options -> Keyboard -> search for 'join'

Edit.JoinLines将动作重新绑定到类似的东西(Text Editor) Ctrl + J,然后按Assign

在此输入图像描述

  • 这是似乎直接解决OP问题的唯一答案。 (2认同)

小智 10

只需选择所有文字即可

然后按(控制+ j)

它将成为1行代码

  • 在Visual Studio 2017中不起作用 (8认同)

Per*_*son 5

我设置find/replace以便快速使用正则表达式,如下所示:

(注意:我使用VS 2015,所以你的热键可能会有所不同)

  1. 使用Ctrl+ H打开快速查找替换.
  2. 确保"使用正则表达式"按钮处于活动/切换状态,并且您将设置为在"选择"(不是"文档"或"整个解决方案"或其他)中搜索
  3. 分别 在"查找"和"替换为"框中键入
    \s+
    space()
    .
  4. Esc键退出快速查找/替换.
  5. 现在,只要您不更改任何内容,就可以选择要制作单行的任何文本,并使用以下热键序列快速格式化它:
    1. Ctrl+ H(打开快速查找/替换)
    2. Alt+ A(用一个空格替换任何出现的1个或多个White Spc字符.)
    3. Enter (关闭显示"X Occurrences Found"的弹出窗口)
    4. Esc (退出快速查找/替换并返回到您的代码)

在visual studio执行诸如实现接口之类的操作之后,我一直使用它

public SomeType SomeProperty {
    get {
        throw new NotImplementedException();
    }
    set {
        throw new NotImplementedException();
    }
}
Run Code Online (Sandbox Code Playgroud)

变成像的东西

public SomeType SomeProperty { get { return someField; } set { /*Some Simple Set Code*/; } }
Run Code Online (Sandbox Code Playgroud)


Ale*_*rev 4

要使用 ReSharper 进行此操作,您应该在 ReSharper/Options/Code Editing/C#/Formatting style/Line Breaks and Wrapping 中取消选中“保留现有换行符”选项。

或者只需将此行添加到您的 .dotSettings 中

<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_USER_LINEBREAKS/@EntryValue">False</s:Boolean>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用代码清理工具(默认快捷键是 Ctrl+Alt+F)或仅键入分号或大括号来格式化代码。