VSCode 复制并粘贴 1 行,不添加换行符
VSCode copy and paste 1 line without newline character being prepended
在 VScode 中,当您复制一行文本,然后将光标放在引号中间并按 Ctrl+V 时,它会将新行粘贴到您想要的位置上方。
在 IntelliJ 和 PyCharm 中,当您使用 Ctrl+C 复制一行代码而不选择任何文本时,它们会智能地删除内存中字符串末尾的 \n 字符。因此,当您将它粘贴在引号中间时,您会得到所需的行为。
由于 VS 团队不太可能很快解决这个问题,我想知道是否有人有它的宏。
组合键可以帮助您:
- 主页
- Shift + End
- Ctrl + Alt + C
但是因为你只想用 Ctrl + Alt + C,您可以安装名为 macros 的扩展来制作一个宏,记录多个组合键。
通过将它们添加到您的 settings.json
:
创建您自己的自定义宏
"macros": {
"copyWithoutNewLine": [
"cursorHome",
"cursorEndSelect",
"editor.action.clipboardCopyAction",
"cancelSelection",
"cursorUndo",
"cursorUndo",
"cursorUndo"
]
}
创建的宏可以有一个自定义名称,在这个例子中是copyWithoutNewLine。并且这个宏执行上述所有命令来复制行。
创建宏后,需要将其添加到keybindings.json
到运行中:
{
"key": "ctrl+alt+c",
"command": "macros.copyWithoutNewLine",
"when": "editorTextFocus && !editorHasSelection"
}
当按下Ctrl+Alt+C组合键时,会复制它没有换行,您可以将其粘贴到任何您想要的地方。
我自己也为此苦苦挣扎了很长时间,终于偶然发现了 解决方案。将这些行添加到 keybindings.json
:
{
"key": "cmd+alt+ctrl+v", // insert your desired shortcut here
"command": "editor.action.insertSnippet",
"args": {
"snippet": "$CLIPBOARD"},
"when": "inputFocus"
},
现在,无论它是如何复制的,按 cmd+option+ctrl+v(或您定义的任何快捷方式)应该粘贴时不带换行符。
有关说明以及您可以使用代码片段做的更多有趣的事情,请参阅 https://code.visualstudio.com/docs/editor/userdefinedsnippets#:~:text=In%20Visual%20Studio%20Code%2C%20snippets,%3A%20Enable%20it%20with%20%22editor。
在 VScode 中,当您复制一行文本,然后将光标放在引号中间并按 Ctrl+V 时,它会将新行粘贴到您想要的位置上方。
在 IntelliJ 和 PyCharm 中,当您使用 Ctrl+C 复制一行代码而不选择任何文本时,它们会智能地删除内存中字符串末尾的 \n 字符。因此,当您将它粘贴在引号中间时,您会得到所需的行为。
由于 VS 团队不太可能很快解决这个问题,我想知道是否有人有它的宏。
组合键可以帮助您:
- 主页
- Shift + End
- Ctrl + Alt + C
但是因为你只想用 Ctrl + Alt + C,您可以安装名为 macros 的扩展来制作一个宏,记录多个组合键。
通过将它们添加到您的 settings.json
:
"macros": {
"copyWithoutNewLine": [
"cursorHome",
"cursorEndSelect",
"editor.action.clipboardCopyAction",
"cancelSelection",
"cursorUndo",
"cursorUndo",
"cursorUndo"
]
}
创建的宏可以有一个自定义名称,在这个例子中是copyWithoutNewLine。并且这个宏执行上述所有命令来复制行。
创建宏后,需要将其添加到keybindings.json
到运行中:
{
"key": "ctrl+alt+c",
"command": "macros.copyWithoutNewLine",
"when": "editorTextFocus && !editorHasSelection"
}
当按下Ctrl+Alt+C组合键时,会复制它没有换行,您可以将其粘贴到任何您想要的地方。
我自己也为此苦苦挣扎了很长时间,终于偶然发现了 解决方案。将这些行添加到 keybindings.json
:
{
"key": "cmd+alt+ctrl+v", // insert your desired shortcut here
"command": "editor.action.insertSnippet",
"args": {
"snippet": "$CLIPBOARD"},
"when": "inputFocus"
},
现在,无论它是如何复制的,按 cmd+option+ctrl+v(或您定义的任何快捷方式)应该粘贴时不带换行符。
有关说明以及您可以使用代码片段做的更多有趣的事情,请参阅 https://code.visualstudio.com/docs/editor/userdefinedsnippets#:~:text=In%20Visual%20Studio%20Code%2C%20snippets,%3A%20Enable%20it%20with%20%22editor。