【问题标题】:Settings to copy paste with correct indentation in Visual Studio Code在 Visual Studio Code 中使用正确缩进复制粘贴的设置
【发布时间】:2017-06-07 00:02:40
【问题描述】:

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

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

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

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

【问题讨论】:

  • a) 不要从源中复制第一行的空格,或者 b) 粘贴时确保光标位于行首。基本上,VSC 只是“按原样”将其过去。
  • 那么有没有办法通过设置来改变呢?
  • 突出显示文本并使用ALT + Arrowkey 移动它将保留缩进。对于那些寻找替代更改设置的人。

标签: visual-studio-code vscode-settings


【解决方案1】:

试试我的paste-indent 分机。内容根据当前行的缩进粘贴,并与该缩进对齐。

【讨论】:

    【解决方案2】:

    一个简单的解决方法是在复制代码后尝试 Ctrl + Shift + V。它将正确粘贴所有带有缩进的代码。

    【讨论】:

    • 这个不行,一模一样。你试试这个:高亮段落 - CTRL C、CTRL+SHFT+V、CTRL+SHFT+V。它变得丑陋!!!!
    • “尝试”听起来很奇怪。那究竟是做什么的?如果用户更改了快捷方式怎么办?
    【解决方案3】:

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

    【讨论】:

    • 这出人意料地有效。不得不这样做有点烦人,但总比没有好
    • 你试过 Cmd+V 和 Cmd+Z 吗?
    • 让微软产品无法处理复制和粘贴的能力......天哪,我很高兴我使用了一台 linux 笔记本电脑......谢谢这个解决方法
    • 这是什么 Mac 版本?
    【解决方案4】:

    这个插件可以帮助你:

    paste-and-indent extension

    您只需更改快捷方式即可。请记住,如果您使用的是 Mac,您可能想要使用 'cmd' 而不是 'ctrl'。 像这样:

    {
        "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"
    }
    

    【讨论】:

    • 使用它来重新创建 Sublime Text 3 行为,即。 cmd+shift+v 粘贴缩进:{ "key": "cmd+shift+v", "command": "pasteAndIndent.action", "when": "editorTextFocus && !editorReadonly" }
    • 此解决方案仍然有效。每次我复制/粘贴时,都不再喜欢添加讨厌的额外选项卡和代码。
    • 找到了,进入“Keyboard Shortcuts”然后点击屏幕右上角的“Open Keyboard Shortcuts JSON”图标,我觉得很难找到!
    • 这个扩展有一个的缺点:它在粘贴时格式化整个文件代码,而不仅仅是被粘贴的部分!我不得不卸载。
    • 要找到需要添加 JSON sn-p 的keybindings.json:搜索“Preferences: Open Keyboard Shortcuts (JSON) in Command Palette
    【解决方案5】:

    这已经集成在 vscode 中,设置中有"editor.formatOnPaste": true 属性。

    【讨论】:

    • 不幸的是,这也会格式化任何粘贴的代码,这并不总是您想要的。
    • 不,不一样。有一个长期存在的问题github.com/Microsoft/vscode/issues/6392,已关闭,但实际上并未解决,请参阅 cmets。我们想要的只是保持/匹配目标/目标行的缩进级别,而不是复制文本的初始级别,而"editor.formatOnPaste": true 正在执行格式,例如来自 python 的 PEP8。
    • 这是非常自以为是的,并在代码中添加了其他不需要的修改(或“美化”)。
    • 除 VSCode 之外的每个文本编辑器都允许用户三次单击并突出显示任何文本。 CTRL C 复制,然后 CTRL V,CTRL V 复制复制的文本。除了在 VS Code 中,三次单击 CTRL C CTRL V 调整文本,然后第二次 CTRL V 使它变得更糟。 CTRL C CTRL V 是最常用的键盘快捷键,连我妈妈都知道。
    • 这不是固执己见,尽管我同意你的其余陈述。 COPY 和 PASTE 应该没有意见,COPY 和 PASTE 他们应该只工作一种方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2017-01-03
    • 1970-01-01
    • 2016-07-15
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多