2016-01-06 103 views
32

在崇高文本cmd+shift+v将粘贴并缩进代码。这可以在Visual Studio代码中完成吗?如何在Visual Studio代码中粘贴和缩进?

解决方法

我做了一个扩展,可以让你粘贴和格式cmd/ctrl+shift+v。 搜索pasteandformat

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

+0

如果我正确理解你需要[这里](http://stackoverflow.com/questions/5755942/how-do-you-auto-format-code-in-visual-studio) –

+1

如果你觉得雄心勃勃,你可以开始学习开发[vscode扩展](https://code.visualstudio.com/docs/)扩展/概述)。我刚开始介入,所以我不能给你一个完整的路线图。 –

+2

['go'语言扩展](https://github.com/microsoft/vscode-go)将是一个很好的参考。特别是,[格式化库](https:// github。com/Microsoft/vscode-go/blob/master/src/goFormat.ts)可能会告诉你如何实现所需语言的格式化功能,然后你需要弄清楚如何通过粘贴到粘贴事件(如果可能的话)。但是当你学习/实现它时,它可能是你想要的语言的开箱即用功能。 –

回答

25

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

已经为此功能打开了一张票:Paste and auto align code。如果你有一个账户,你可以投票选择这个功能,这样才能获得更多关注。如果它受到足够的关注,Visual Studio Code的开发人员可能会注意到这一点,也许可以开发它。

当前的解决办法

粘贴代码, 后,您可以使用CTRL + E,CTRL + d for Windows或Alt + Shift + F为Mac。

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

如果你只希望这适用于粘贴代码,选择代码粘贴后,然后用CTRL + E,CTRL + d for Windows或Alt + Shift + F为Mac。现在缩进/格式化仅适用于粘贴的行。

+2

我们正在寻找什么(我)是这种功能,但直接应用于'复制'的文本,而不影响文档的其余部分。 – mhx

+1

我目前不知道VS中的功能,它只提供粘贴部分的行为。 – Dbuggy

+0

我建议您对答案进行编辑,目前此功能不可用,以及用户如何在Visual Studio的UserVoice网站中投票选择此功能:https://visualstudio.uservoice.com/forums/293070-visual-studio-code /建议/ 8626678-糊和自动对齐的代码。我也稍微改进了你的'修复'。如果此编辑得到批准,我会很乐意授予您当之无愧的赏金。 – mhx

14

自版本1.9.0起,editor.formatOnPaste降落在VSCode中。 >首选项 - - 通过代码

打开settings.json设置和搜索formatOnPaste

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

"editor.formatOnPaste": true, 

修改falsetrue因为默认值是false

来源:Changelog update 1.9.0