微軟發布 VS Code 1.51,改進了固定選項卡等
11分鐘讀
更新了
請閱讀我們的揭露頁面,了解如何幫助 MSPoweruser 維持編輯團隊的發展 阅读更多
微軟今天宣布發布 Visual Studio Code v1.51(2020 年 XNUMX 月更新),其中包含多項改進和錯誤修復。 這個新更新現在帶有可調整大小的 IntelliSense 建議框、持久遠程終端會話、改進的固定選項卡等。 在下面找到 Microsoft 提供的完整更改日誌。
工作台#
更突出的固定標籤#
固定標籤現在將始終顯示其固定圖標,即使在不活動時也是如此,以使它們更容易識別。 如果編輯器既已固定又包含未保存的更改,則圖標會反映這兩種狀態。
擴展樹使用自定義懸停#
我們現在使用自定義懸停,而不是在擴展樹視圖中使用本機工具提示,該懸停是一致的跨平台並且更適合整體 UX。
在不同步的情況下安裝擴展#
您現在可以在啟用設置同步的情況下安裝擴展而不同步它。
主題: GitHub 燈
從資源管理器安裝擴展#
VS Code 現在支持從資源管理器安裝擴展 VSIX 文件,方法是右鍵單擊 VSIX 文件並選擇 安裝擴展 VSIX 上下文菜單項。
輸入模糊命令#
一個新的內部
workbench.action.blur
現在可以使用命令,它可以從任何可聚焦的輸入中移除焦點。 您可以在 鍵盤快捷鍵首選項.綜合終端#
本地迴聲#
在終端中進行修改傳統上需要將信息發送到終端進程、處理並返回到 VS Code 才能受到影響。 當處理與 SSH服務器 or 代碼空間.
此版本為終端添加了“本地回顯”模式,該模式嘗試預測本地所做的修改和光標移動,並在 UI 中顯示它們,而無需往返服務器。 默認情況下,預測字符顯示為“變暗”:
您可以使用兩種設置來配置它:
terminal.integrated.localEchoLatencyThreshold
配置檢測到的延遲閾值,以毫秒為單位,本地迴聲將在該閾值時激活。 這可以設置為0
一直打開該功能,或-1
禁用它。 默認為30
.terminal.integrated.localEchoStyle
配置本地字符的樣式或顏色,默認為dim
.智能感知#
可調整大小的建議#
在這個里程碑中,我們對建議 UI 進行了多項改進。 首先,它現在可以調整大小。 拖動邊或角來調整控件的大小。
主題: GitHub 燈, 字體:FiraCode
建議列表的大小將跨會話保存和恢復。 詳細信息窗格的大小僅在每個會話中保存,因為該大小往往更具可變性。 此外,該
editor.suggest.maxVisibleSuggestions
設置已過時。建議的狀態欄#
建議控件現在也可以在窗口底部顯示自己的狀態欄。 使用
editor.suggest.showStatusBar
環境。 它使切換細節更簡單,並顯示完成是否支持插入、替換或兩者兼而有之。主題: GitHub 燈, 字體:FiraCode
在上面的示例中,選擇“插入”會導致
Math.floorceil
並選擇“替換”導致Math.floor
.新的
editor.suggest.insertMode
設置允許您配置您喜歡插入還是替換。 當建議同時支持兩者時,您的偏好將是默認設置。移動光標以選擇建議#
最後但同樣重要的是,您現在可以在顯示建議時移動光標。 例如,您可以在單詞末尾觸發建議,向左移動以查看更多建議,然後使用替換來覆蓋該單詞。
主題: GitHub 燈
螞蟻#
Emmet 中的自定義片段又回來了。 此外,片段現在會在保存片段文件或更新
emmet.extensionsPath
設置。源代碼控制#
Source Control 輸入框保存提交消息歷史#
這解決了一個 功能要求 導航 SCM 提交歷史。 按 Up 和 下 分別顯示前一個和下一個提交。 要直接移動到輸入框的第一個和最後一個位置,請按 其他 與相應的箭頭鍵一起使用。
Git:子菜單中的標記命令#
標籤相關的 Git 命令已添加到 ... Git 菜單。
Git:變基命令#
新 Git:變基分支… 添加了命令,可讓您使用 UI 重新定位分支。
Git:遞歸克隆命令#
隨著 Git:克隆(遞歸) 命令,您現在可以遞歸地克隆 Git 存儲庫,包括其嵌套的 Git 子模塊。
時間軸:表情符號簡碼渲染#
我們現在渲染表情符號簡碼,例如
:smile:
, 在時間軸視圖中。語言#
Markdown 智能選擇#
使用以下新命令擴展和縮小 Markdown 文檔中的選擇:
- 擴大: Shift+Alt+右
- 收縮: Shift+Alt+左
選擇適用於以下內容,並遵循傳統的分層模式:
- 頭
- 清單
- 塊引號
- 圍欄代碼塊
- html代碼塊
- 段
JavaScript 和 TypeScript 的空大括號格式選項#
新的
javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
和typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
格式化配置選項控制是否在空括號之間插入空格。 這些設置的默認值為 true。 例如,對於 JavaScript:class Foo { doFoo() {} }
設置
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
並格式化代碼導致:class Foo { doFoo() {} // Notice that the space has been removed }
瀏覽器支持#
下載文件夾(Edge、Chrome)#
利用新的 文件系統訪問 API,在瀏覽器中運行的 Microsoft VS Code 現在可以為文件資源管理器中的文件夾提供下載操作,以將所有文件和文件夾下載到磁盤。
注意: 這需要最新版本的 Microsoft Edge 或 Google Chrome。
打開工作區通知#
如果您打開一個文件夾,其中包含
.code-workspace
文件位於頂層,您現在會看到一條通知,要求您打開它。 這在 Microsoft VS Code 桌面版中總是如此,現在也可以在瀏覽器中使用。防止意外關閉#
新設定
window.confirmBeforeClose
添加以在關閉或離開工作台之前顯示確認對話框。可能的值為:
keyboardOnly
僅當您使用鍵綁定關閉時才會顯示確認(例如, Ctrl + W)。 (默認)always
:確認對話框將始終顯示,即使您從鼠標手勢關閉。never
: 永遠不會顯示確認信息。備註: 此設置可能無法涵蓋所有情況。 瀏覽器可能仍會決定關閉選項卡或窗口而無需確認。
對擴展的貢獻#
GitHub 拉取請求和問題#
工作仍在繼續 GitHub 拉取請求和問題 擴展,它允許您處理、創建和管理拉取請求和問題。
要了解所有新功能和更新,您可以查看完整的 0.22.0 的變更日誌 擴展的發布。
遠程開發#
工作仍在繼續 遠程開發擴展,它允許您使用容器、遠程機器或 Linux的Windows子系統 (WSL) 作為功能齊全的開發環境。
1.51 中的功能亮點包括:
- 能夠持久/重新連接到終端會話。
- 改進的端口轉發體驗。
您可以在 遠程開發發行說明.
預覽功能#
預覽功能尚未準備好發布,但功能足以使用。 我們歡迎您在開發過程中提供早期反饋。
設置同步#
設置同步現在同步擴展的全局狀態。 擴展必須提供狀態以使用新引入的同步 setKeysForSync API。
記住代理憑據#
我們正在徹底檢查登錄對話框,該對話框顯示網絡連接何時需要使用代理進行身份驗證。 新設定,
window.enableExperimentalProxyLoginDialog: true
,將啟用我們計劃在未來版本中默認設置的新體驗。主題: GitHub 燈
該對話框將出現在 Microsoft VS Code 窗口中,並提供一種記住憑據的方法,這樣您就不必在每次啟動 VS Code 時都提供它們。 憑據將存儲在操作系統標準憑據存儲中(macOS 上的鑰匙串、Windows 上的 Windows 憑據管理器和 Linux 上的 gnome 密鑰環)。
我們仍然在每個會話中只顯示一次此對話框,但將來可能會重新考慮此決定。 如果您選擇記住的憑據無效,您將再次看到該對話框。 再次提供它們允許您更改它們。
請啟用此選項,並通過我們的 問題追踪器.
TypeScript 4.1 測試版支持#
Microsoft VS Code 支持 TypeScript 4.1 測試版 和夜間構建。 4.1 更新帶來了一些新的 TypeScript 語言特性,例如支持 遞歸條件類型,以及工具改進。 一個重點領域是 添加初始支持 對於
@see
JSDoc 註釋中的標籤。要開始使用 TypeScript 4.1 nightly build,只需安裝 TypeScript Nightly 擴展. 如果您遇到 TypeScript 4.1 的任何錯誤,請分享反饋並告訴我們。
擴展創作#
更新的擴展示例#
我們更新了一些我們的 擴展樣本 包括與我們的顏色主題標記掛鉤的 Microsoft VS Code 默認樣式。 這意味著通用元素(文本、按鈕、輸入)將是可主題化的,並且與產品中的默認樣式相匹配。 以下是包含此內容的擴展:
樹木中的 Codicon 顏色#
隨著項目的最終確定
ThemeIcon
顏色 API, 擴展作者可以在自定義樹視圖中的 codicons 上使用主題顏色。同步全局狀態#
擴展現在可以通過提供鍵來同步它們的全局狀態,當啟用設置同步時,它們的值應該同步,使用新引入的
setKeysForSync
API在globalState
紀念。/** * Set the keys whose values should be synchronized across devices when synchronizing user-data * like configuration, extensions, and mementos. * * Note that this function defines the whole set of keys whose values are synchronized: * - calling it with an empty array stops synchronization for this memento * - calling it with a non-empty array replaces all keys whose values are synchronized * * For any given set of keys this function needs to be called only once but there is no harm in * repeatedly calling it. * * @param keys The set of keys whose values are synced. */ setKeysForSync(keys: string[]): void;
評論線程回复按鈕可見性#
評論 擴展現在可以使用新屬性控制評論線程中回复按鈕的可見性,
CommentThread#canReply
. 當它設置為false
,用戶將不會在評論線程中看到回复按鈕或評論框。提議的擴展 API#
每個里程碑都帶有新的提議 API,擴展作者可以試用它們。 一如既往,我們希望得到您的反饋。 這是您嘗試提議的 API 所必須做的:
- 您必須使用 Insiders,因為提議的 API 經常更改。
- 您必須在
package.json
你的擴展文件:"enableProposedApi": true
.- 複製最新版本的
vscode.proposed.d.ts
文件到項目的源位置。您不能發布使用建議的 API 的擴展。 下一個版本中可能會有重大更改,我們永遠不想破壞現有的擴展。
折疊範圍提供者更改事件#
折疊範圍提供者可以向編輯器發出信號,需要使用
onDidChangeFoldingRanges
事件。有關更多詳細信息並提供反饋,請使用 問題#108929.
密碼 API#
作為繼續工作的一部分 身份驗證提供程序,我們引入了用於存儲和檢索敏感信息的 API。 在內部,這充當了 鍵塔 VS Code 用於存儲機密的庫。
/** * Retrieve a password that was stored with key. Returns undefined if there * is no password matching that key. * @param key The key the password was stored under. */ export function getPassword(key: string): Thenable<string | undefined>; /** * Store a password under a given key. * @param key The key to store the password under * @param value The password */ export function setPassword(key: string, value: string): Thenable<void>; /** * Remove a password from storage. * @param key The key the password was stored under. */ export function deletePassword(key: string): Thenable<void>; /** * Fires when a password is set or deleted. */ export const onDidChangePassword: Event<void>;
#
使 Microsoft VS Code 受信任類型兼容#
我們繼續努力使 VS Code 符合“可信類型”。 目標是防止基於 DOM 的跨站點腳本漏洞。 您可以在 web.dev 了解有關受信任類型的更多信息 可信類型站點 並關注我們的進展 問題#103699.
資源: Microsoft微軟