VSCode 复制并粘贴 1 行,不添加换行符

Dav*_*han 8 pycharm intellij-13 visual-studio-code

在此处输入图片说明

在 VScode 中,当您复制一行文本,然后将光标放在引号的中间并按 Ctrl+V 时,它会将新行粘贴到您想要放置的位置上方。

在 IntelliJ 和 PyCharm 中,当您使用 Ctrl+C 复制一行代码而不选择任何文本时,它们会智能地删除位于内存中的字符串末尾的 \n 字符。因此,当您将其粘贴在引号中间时,您将获得所需的行为。

由于 VS 团队不太可能很快解决这个问题,我想知道是否有人有一个宏。

https://github.com/Microsoft/vscode/issues/61840

Din*_*har 5

组合键可以帮助您:

  1. Home
  2. Shift + End
  3. Ctrl + C

但是因为你只想用Ctrl +来做C,你可以安装名为宏的扩展来制作一个宏,记录多个组合键。

通过将它们添加到您的settings.json:

"macros": {
    "copyWithoutNewLine": [
        "cursorHome",
        "cursorEndSelect",
        "editor.action.clipboardCopyAction",
        "cancelSelection"
    ]
}
Run Code Online (Sandbox Code Playgroud)

创建的宏可以有一个自定义名称,在这个例子中它是copyWithoutNewLine。这个宏执行所有上述命令来复制行。

创建宏后,您需要将其添加到keybindings.json以运行它:

{
    "key": "ctrl+alt+c",
    "command": "macros.copyWithoutNewLine"
}
Run Code Online (Sandbox Code Playgroud)

当按下Ctrl+ Alt+ 的组合C键时,它会复制它而不换行,您可以将它粘贴到您想要的任何位置。

  • 您可以通过仅在没有选择文本时绑定到 `ctrl+c` 来使其行为与其他编辑器完全一样:`{ "key": "ctrl+c", "command": "macros.copyWithoutNewLine", "when ": "editorTextFocus && !editorHasSelection" },` (3认同)