2016-01-06 87 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