[英]How do I pipe output into Visual Studio Code?
我想將 pipe 的 output 的命令轉換成 Visual Studio Code 中的新文本 window。
通常,我會做這樣的事情:
echo foo | code
...但這似乎行不通; Visual Studio Code 啟動,但不顯示輸入。 有沒有辦法在命令行上做管道?
從 1.19.1 版開始,您可以通過調用將輸出通過管道傳輸到當前窗口:
<command> | code -
如果您使用的是 1.19 或更早版本,則不需要 arg:
<command> | code
截至 2016 年 9 月,它似乎不受支持,但有一個未解決的問題來實施它:
我在 Ubuntu Gnome 17.10 (Artful Aardvark) 上運行 Visual Studio Code v1.19.3。 僅管道到code
不足以bin 到stdin。
$ ps aux | code
Run with 'code -' to read from stdin (e.g. 'ps aux | grep code | code -').
您必須添加-
運算符:
$ ps aux | code -
這正在工作並打開一個由命令輸出填充的新文本選項卡。
當我使用接受的答案時,控制台會被阻止,直到我關閉 VS Code 中的相應選項卡。 由於我經常希望在 VS Code 中保持選項卡在我繼續使用控制台時保持打開狀態,因此我想出了這個愚蠢的解決方法:
ls > t; code t; rm t
它重定向到當前目錄中的文件t
,告訴 VS Code 打開該文件,然后將其刪除。 您將在 VS Code 中一個標簽為t (deleted)
的選項卡中看到該文件的內容。
如果 VS Code 尚未打開,則需要稍微延遲(1 秒對我有用):
ls > t; code t; sleep 1; rm t
筆記
您還可以使用終端擴展中的復制/管道,並在終端中使用cp2code
或tee2code
( tee2code
不會終止管道鏈),如下所示:
ls ~ | cp2code
ls ~ | tee2code | sort
它會打開一個新文檔,其中包含輸入的數據。 如果您有多個 VS 代碼 windows,它會顯示您運行命令的 window 上的復制數據。
我為 VSCode 做了一個擴展,解決了這個問題,同時 VSCode 仍然打開
https://marketplace.visualstudio.com/items?itemName=YuvrajMishra.vscode-pipe
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.