Visual Studio Code 正式版本1.34 今天發布。4月份,官方忙於遠程開發擴展的預覽版。通過這些擴展,開發者可以在遠程計算機或VM,Windows子系統Linux(WSL)或Docker容器內通過SSH使用VS Code。可以閱讀Visual Studio Code博客文章中的遠程開發以了解更多信息。
如果您想在網上閱讀這些發行說明,去更新上code.visualstudio.com。
編輯穩定的CodeLensVS Code現在樂觀地緩存CodeLens位置並在切換編輯器後立即恢復它們。這解決了在編輯器之間切換時CodeLens行會略微移位的問題。
語言使用供應商前綴降低CSS屬性值的排名前綴為破折號'-'(例如-moz-grid或-ms-grid)的CSS屬性值現在grid在自動完成時出現。
調試debug.showSubSessionsInToolBar我們已經介紹了debug.showSubSessionsInToolBar控制調試子會話是否顯示在調試工具欄中的設置。如果此設置為false,則子會話上的stop命令也將停止父會話。此設置默認值為false。
任務終止所有任務該任務:終止任務命令有一個新選項,以終端的所有任務,如果有運行多個任務。如果這是您經常執行的操作,則可以使用terminateAll參數為命令創建鍵盤快捷鍵。
{ "key": "ctrl+k t", "command": "workbench.action.tasks.terminate", "args": "terminateAll"}
自動顯示「問題」面板新的revealProblems任務屬性允許您自動顯示「問題」面板。該屬性值always,never和onProblem。
{ "version": "2.0.0", "tasks": [ { "type": "npm", "script": "watch", "problemMatcher": "$tsc-watch", "isBackground": true, "presentation": { "reveal": "always", "revealProblems": "onProblem" } } ]}
對擴展的貢獻預覽:遠程開發❗ 註:該遠程開發的擴展需要Visual Studio代碼業內人士。
Visual Studio Code Remote Development允許您將容器,遠程計算機或Windows子系統Linux(WSL)用作功能齊全的開發環境。
在擴展遠程開發擴展包在遠程工作空間的情況下運行,而VS代碼的感覺,當你在本地運行像它。
VeturVetur擴展現在提供語義診斷,懸停信息,跳轉到定義,並在Vue的模板插值區域內查找JavaScript表達式的引用:
您可以在Vetur文檔中閱讀有關此功能的更多信息。
其他改進包括減少內存使用和導入路徑完成。您可以在Vetur更改日誌中了解有關它們的更多信息。
擴展創作多擴展調試在這個裡程碑中,我們已經添加了對一次調試多個擴展的支持。如果您正在開發一組緊密耦合或相互依賴的擴展,這將非常有用。
以前,此功能僅通過VS Code的命令行界面顯示,現在--extensionDevelopmentPath可以多次指定參數。通常--extensionDevelopmentPath用於擴展的啟動配置。在開發多個擴展時,我們建議將各個擴展項目組合到一個多文件夾工作區中,並創建一個新的啟動配置(存儲在工作區.code-workspace文件中),該配置使用多個--extensionDevelopmentPath參數用於各個擴展。
這是一個.code-workspace帶有兩個擴展的示例工作區文件,hello1以及兩個擴展hello2的單個啟動配置:
{ "folders": [ { "path": "hello1" }, { "path": "hello2" } ], "launch": { "configurations": [ { "type": "extensionHost", "request": "launch", "name": "Launch Two Extensions", "args": [ "--extensionDevelopmentPath=${workspaceFolder:hello1}", "--extensionDevelopmentPath=${workspaceFolder:hello2}", ], "outFiles": [ "${workspaceFolder:hello1}/out/**/*.js", "${workspaceFolder:hello2}/out/**/*.js" ] } ] }}
請注意,在此版本中,無法preLaunchTask通過組合preLaunchTask各個擴展項目的s 來創建構建兩個擴展的擴展。
通知中的命令連結始終可以通過語法在通知消息中包含連結[link name](http://link),但這僅適用於在瀏覽器中打開的連結。現在,您還可以使用語法從連結調用命令[link name](command:<command id>)。當用戶單擊連結時,將觸髮帶有提供的標識符的命令。
通知中的連結允許標題您現在可以為通知中的連結添加標題,當用戶將滑鼠懸停在連結上時將顯示這些標題。語法是[link name](link "<the title>")。
建議的擴展API每個裡程碑都附帶新的API,擴展作者可以試用它們。一如既往,我們熱衷於您的反饋。這是您嘗試提出的API所必須做的事情:
您必須使用Insiders,因為建議的API經常更改。 您必須在package.json擴展程序的文件中包含以下行:"enableProposedApi": true。 將最新版本的vscode.proposed.d.ts文件複製到項目中。請注意,您無法發布使用建議API的擴展程序。我們可能會在下一個版本中進行重大更改,但我們絕不想破壞現有的擴展。
vscode.workspace.workspaceFile有一個新的工作空間屬性返回工作空間文件的位置。例如:file:///Users/name/Development/myProject.code-workspace或者untitled:1555503116870用於未命名且尚未保存的工作空間。
根據打開的工作區,值將為:
undefined 沒有打開工作區或單個文件夾時。 工作區文件的路徑為Uri。如果工作空間未命名,則返回的URI將使用該untitled:方案。
工作區文件位置的一個用途是調用vscode.openFolder命令以在關閉後再次打開工作區:
vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);
注意:建議不要使用該workspace.workspaceFile位置將配置數據直接寫入文件。您可以使用workspace.getConfiguration().update()哪個在打開單個文件夾以及無標題或已保存的工作區時都可以使用。
機器特定的設置如果您具有允許用戶自定義可執行路徑的設置,並且這些路徑需要作用於運行它們的計算機,則現在可以將此類設置分類為machine作用域。擴展作者scope在為configuration擴展點做出貢獻時設置屬性。只能為用戶設置配置機器特定的設置。
"configuration": { "title": "Git", "properties": { "git.path": { "type": [ "string", "null" ], "markdownDescription": "Path and filename of the git executable.", "default": null, "scope": "machine" }, }}
工程重寫本地文件的文件系統提供程序擴展已經能夠為自定義資源提供自己的文件系統實現(在此處閱讀更多內容)。但是,VS Code自己的本地文件實現沒有使用相同的擴展API實現。與來自擴展的資源相比,這在處理本地文件資源時產生了細微差別。在過去的兩個裡程碑中,我們重寫了本地文件系統提供程序,以使用擴展API來保持一致性。
新文件Python Azure功能有一個新的部署Python到Azure功能教程,該教程描述了如何創建和部署Python無伺服器Azure功能。
其他語言伺服器協議該語言伺服器協議已經提出了以下新功能的支持:
選擇範圍:計算位置數組的選擇範圍。從客戶端發送到伺服器。 調用層次結構:計算給定符號的調用層次結構。從客戶端發送到伺服器。 進度:從伺服器啟動進度報告。從伺服器發送到客戶端。這些新功能是在下一版本vscode-languageclient和vscode-languageserverNPM模塊。
值得注意的修復 48259:Explorer從FileSystemProvider尊重垃圾回收功能 68276:對於長線程名稱,調用堆棧「暫停在斷點」UI不可見 69603:終端窗口在Mac OS中崩潰 72110:調試控制臺無需渲染換行符 71737:在調試窗口中滾動表現很奇怪 71588:在資源管理器中顯示文件時出錯 70492:「正在運行擴展程序」上的「報告問題」按鈕會導致數十個重複問題