【问题标题】:How does one paste and indent in Visual Studio Code?如何在 Visual Studio Code 中粘贴和缩进?
【发布时间】:2016-01-06 06:45:31
【问题描述】:

在 Sublime 中,cmd+shift+v 将粘贴和缩进代码。这可以在 Visual Studio 代码中完成吗?

解决方法

我制作了一个扩展程序,可让您使用cmd/ctrl+shift+v 进行粘贴和格式化。 搜索pasteandformat

https://marketplace.visualstudio.com/items?itemName=spoeken.pasteandformat

【问题讨论】:

  • 如果我正确理解你需要this
  • 如果您有雄心壮志,可以开始学习开发vscode extensions。我才刚刚开始涉足这个,所以我不能给你一个完整的路线图。
  • go language extension 将是一个很好的参考。特别是,formatting lib 可能会向您展示如何实现所需语言的格式化功能,然后您需要弄清楚如何通过附加到粘贴事件来触发它(如果可能的话)。但是当您学习/实施时,它可能是您所需语言的开箱即用功能。
  • @EricLease 我学得很快;)github.com/spoeken/pasteandformat 使用了一些内置命令,而不是自下而上编写格式化程序。
  • @Spoeken 很棒的扩展!我不想粘贴和格式化,但只需要在粘贴后缩进,所以如果你想尝试marketplace.visualstudio.com/…,我已经编写了一个扩展代码,大多数情况下它都可以工作..

标签: sublimetext2 visual-studio-code


【解决方案1】:

目前,Visual Studio Code 不提供此特定功能。 我们可以在Visual Studio's UserVoice 网站上投票支持此功能。

此功能已经有一张票:Paste and auto align code。如果您有一个帐户,您可以投票支持此功能,以便获得更多关注。如果它得到足够的关注,Visual Studio Code 的开发人员可能会注意到这一点并可能会开发它。

当前解决方法

粘贴代码后, 你可以使用 CTRL+E, CTRL+D 对于 windows 或 ALT+SHIFT+F 对于 mac。

但请注意,这将重新格式化整个文档,根据源类型的可用规则缩进。

如果您只想将其应用于粘贴的代码,请选择粘贴后的代码,然后使用 CTRL+E、CTRL+D(Windows)或 ALT+SHIFT+F 对于 mac。现在缩进/格式仅适用于粘贴的行。

【讨论】:

  • 我们(我)正在寻找的是这个功能,但直接应用于“复制”文本,而不影响文档的其余部分。
  • 我目前不知道 VS 中仅在粘贴部分提供行为的功能。
  • 你改进了很多答案。所以我谢谢你好心的先生。
  • @mhx 我做了一个扩展,可以让你粘贴和格式化cmd/ctrl+shift+v。搜索 pasteandformat 请注意,它将格式化整个文档,而不仅仅是您粘贴的内容。
  • @mhx 更新了它。所以现在它只格式化粘贴的文本:) 如果您发现任何问题,您可以在github.com/spoeken/pasteandformat 报告它
【解决方案2】:

从 1.9.0 版本开始,editor.formatOnPaste 登陆 VSCode。

通过代码->首选项-设置打开settings.json并搜索formatOnPaste

// 控制编辑器是否应该自动格式化粘贴的内容 内容。格式化程序必须可用,并且格式化程序应该是 能够格式化文档中的范围。

"editor.formatOnPaste": true,

false修改为true,因为默认值为false

来源:Changelog update 1.9.0

【讨论】:

    猜你喜欢
    • 2017-06-07
    • 2017-01-03
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2016-03-14
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多