在Visual Studio代码中使用正确缩进复制粘贴的设置

Tia*_*ago 70 visual-studio-code vscode-settings

当我使用Visual Studio Code复制并粘贴一段代码时,按Enter键创建一个新行后,会发生以下情况:

在此输入图像描述

它似乎保留了新行创建的缩进,将复制的代码段中的先前信息添加到其上.我宁愿代码在粘贴时自动美化.

可以通过设置更改此行为吗?

编辑:我不是指跨平台的复制粘贴,我指的是在Visual Studio Code中的同一文件中复制和粘贴.

and*_*ndy 79

这已经在vscode中与"editor.formatOnPaste": true设置中的属性集成.

  • 不,它不一样。有一个长期存在的问题 https://github.com/Microsoft/vscode/issues/6392,已关闭,但实际上并未解决,请参阅评论。我们想要的只是保持/匹配目标/目标行的缩进级别,而不是初始级别,文本从中复制的位置,而 `"editor.formatOnPaste": true` 正在执行格式,例如 PEP8 来自 python。 (9认同)
  • 遗憾的是,这也会格式化任何粘贴的代码,这并不总是您想要的. (8认同)
  • 这是非常固执己见的,并对代码添加了其他不需要的修改(或“美化”)。 (4认同)
  • 这并不是固执己见,因为我同意你的其余陈述。复制和粘贴不应该有任何意见,复制和粘贴它们应该只能以一种方式工作。 (4认同)
  • 将其设置为“false”(停用它)最终解决了这个恼人的默认行为。 (4认同)
  • 除 VSCode 之外的每个文本编辑器都允许用户三次单击并突出显示任何文本。按 CTRL C 进行复制,然后按 CTRL V、CTRL V 复制复制的文本。除了在 VS Code 中,三次单击 CTRL C CTRL V 会调整文本,然后第二次 CTRL V 会使情况变得更糟。CTRL C CTRL V 是最常见的键盘快捷键,连我妈妈都知道这个。 (2认同)

hal*_*_me 27

这个插件可以帮助你:

粘贴和缩进扩展

您只需更改快捷方式即可.像这样:

{
    "key": "ctrl+v",
    "command": "pasteAndIndent.action",
    "when": "editorTextFocus && !editorReadonly"
},
{
    "key": "ctrl+v",
    "command": "editor.action.clipboardPasteAction",
    "when": "!editorTextFocus"
},
{
    "key": "ctrl+shift+v",
    "command": "editor.action.clipboardPasteAction",
    "when": "editorTextFocus && !editorReadonly"
}
Run Code Online (Sandbox Code Playgroud)

  • 使用它来重新创建Sublime Text 3行为,即.cmd + shift + v to paste-indent:`{"key":"cmd + shift + v","command":"pasteAndIndent.action","when":"editorTextFocus &&!editorReadonly"}` (7认同)
  • 找到它,进入“键盘快捷键”,然后单击屏幕右上角的“打开键盘快捷键JSON”图标,我想很难找到它! (2认同)
  • 此扩展有一个**大**缺点:它在粘贴时格式化整个文件代码,而不仅仅是正在粘贴的部分!我不得不卸载。 (2认同)
  • 您可能还想尝试这个[一个](https://marketplace.visualstudio.com/items?itemName=gazugafan.vscode-indent-on-paste)。无需设置,只需安装即可。受到上述扩展的启发,但消除了一些其他自动格式化问题。 (2认同)

Phi*_*ppe 17

Ctrl+V后跟Ctrl+Z似乎开箱即用。

  • 这令人惊奇地有效。不得不这样做有点烦人,但总比什么都不做好 (3认同)
  • 您尝试过 Cmd+V 和 Cmd+Z 吗? (3认同)
  • 让它成为微软的产品,无法处理复制和粘贴的能力...天哪,我很高兴我使用 Linux 笔记本电脑...感谢这个解决方法有效 (2认同)

Pix*_*omo 9

这让我发疯,实际上我需要设置"editor.formatOnPaste": false


Les*_*eve 5

给出我的粘贴缩进扩展。内容根据当前行的缩进进行粘贴,并与该缩进左对齐。

  • 谢谢 - 这对于 YAML 来说是开箱即用的! (2认同)