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

24
在Visual Studio 2013中,有没有键盘快捷方式或快速方法可以将下面的代码更改为单行?我还安装了ReSharper。 多行
new XElement("Option",
            new XAttribute("Name", "FileDelete"),
            "1"
        ),

单一的

new XElement("Option", new XAttribute("Name", "FileDelete"),"1" ),
7个回答

14

只需选择所有文本

然后按(control + j)

它将变成一行代码


1
Ctrl + J 的命令名称是什么?我的按键绑定与默认设置不同。 - KargWare
它在2022年能用吗? - assayag.org
(Control + J)在我的Visual Studio Code中打开内部终端。 - Albertino Carvalho

11

在VS2019中,默认的绑定设置是 Shift + Alt + L + J

或者您可以通过转到工具 -> 选项 -> 键盘 -> 搜索'join'

Edit.JoinLines 操作重新绑定到其他内容,例如 (文本编辑器) Ctrl + J,然后按下 分配

输入图片说明


2
这是唯一一个似乎直接回答了OP的问题的答案。 - DonBoitnott
Shift + Alt + L + J 在 VS2022 中有效。 - kkuilla

10

我设置了查找/替换功能以便快速使用正则表达式,方法如下:

(注意: 我使用的是VS 2015,因此您的热键可能不同)

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

每当Visual Studio执行接口等操作时,我都会经常使用此功能,以将以下内容转换为单行:

public SomeType SomeProperty {
    get {
        throw new NotImplementedException();
    }
    set {
        throw new NotImplementedException();
    }
}

对于这类东西感兴趣

public SomeType SomeProperty { get { return someField; } set { /*Some Simple Set Code*/; } }

确认在VS2012中可以运行。节省了我大量的时间! - sawyermclane
非常好的答案!就像watersnake所说的那样...省了我大量的时间。谢谢! - Pinpaho

3
要使用ReSharper完成这个操作,您需要在ReSharper /选项/代码编辑/C# /格式设置/行和换行中取消勾选“保留现有换行符”选项。

或者只需将此行添加到您的.dotSettings文件中即可。

<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_USER_LINEBREAKS/@EntryValue">False</s:Boolean>

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


2

对我来说,按下Ctrl+J会打开Linux终端而不是将多行格式化为一行。

这是在Linux上最快的方法。

  1. 按下Ctrl+Shift+P
  2. 连接行

0

您可以使用CodeMaid来完成此操作。默认的绑定键是F3,但如果您想更改它,命令称为CodeMaid.JoinLines


0

您可以更改VS设置,以自动按您想要的方式格式化代码,然后选择并重新输入任何行/块结束字符(';'或'}')在您想要格式化的文本之后,VS将为您格式化它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接