2018 年 9 月 (1.28 版本)
更新 1.28.2:此更新解決了這些問題。
更新 1.28.1:此更新解決了這些問題。
下載:Windows:x64 | Mac:Intel | Linux 64 位:deb rpm tarball | 32 位:deb rpm tarball
歡迎使用 Visual Studio Code 2018 年 9 月版本。正如9 月迭代計劃中宣佈的,我們專注於整理 GitHub 問題和拉取請求。在我們所有的 VS Code 儲存庫中,我們關閉了(已分類或已修復)3918 個問題。在關閉問題的同時,您建立了 2187 個新問題。這導致問題淨減少了 1731 個。主要的 vscode 儲存庫現在有 2472 個未解決的功能請求和 625 個未解決的錯誤。此外,我們關閉了 212 個拉取請求。
很高興看到您如此關心我們的進展。Benjamin Lannon 釋出了一個個人網站,其中包含我們主儲存庫中問題編號的即時跟蹤器。它很好地展示了我們自 9 月 11 日以來取得的進展。
它也顯示了我們一停止關注減少問題就會發生什麼。以下是我們為本次釋出做準備的上一週的最後三天。如您所見,未來將有更多的發行版維護迭代。
在本次維護里程碑中,我們解決了多個功能請求,社群拉取請求也帶來了新功能。以下是本次釋出的一些亮點。
- 自定義檔案圖示 - VS Code 檔案圖示反映您 OS 資源管理器中的檔案型別。
- 專案級程式碼片段 - 根據每個工作區調整您的程式碼片段集合。
- 編輯器 Tab 補全 - 使用 Tab 鍵輕鬆迴圈顯示 IntelliSense 建議。
- 跳轉到上次編輯 - 新命令,可跳轉到上次編輯的位置。
- 不帶格式化儲存 - 儲存檔案而不更改現有格式。
- Git 改進 - 更好的刪除衝突處理,新的同步時 rebase 選項。
- 透過匯入路徑重新命名 - 透過匯入路徑重新命名 JS/TS 檔案。
- 轉換為非同步重構 - 快速更新函式以使用 async 和 await。
- 更好的 Markdown 摺疊 - 摺疊程式碼塊、多行列表和嵌入式 HTML。
如果您想線上閱讀這些發行說明,請訪問 code.visualstudio.com 上的更新頁面。
您還可以觀看 Cloud Developer Advocate Brian Clark 製作的 1.28 版本亮點影片。
Insider 版本:想盡快看到新功能?您可以下載每晚更新的 Insiders 版本,並在新功能可用時立即嘗試。
工作臺
Windows 上預設自定義標題和選單欄
以前的釋出說明中描述的自定義標題欄和可主題化選單現在在 Windows 上預設啟用。設定"window.titleBarStyle"
在上個月的 Insider 版本中已在 Windows 上預設為"custom"
,我們現在準備將其作為預設體驗。
按檔案型別顯示檔案圖示
在 macOS 和 Windows 上,VS Code 註冊為眾所周知的檔案型別的預設編輯器。VS Code 現在為一些常見的 VS Code 檔案型別提供自定義圖示。當圖示大小設定為中到大時,這些圖示將顯示在作業系統資源管理器中。對於小圖示大小,我們決定保留 VS Code 徽標作為圖示。
專案級程式碼片段
程式碼片段現在可以限定為專案並與您的團隊共享。只需使用首選項:配置使用者程式碼片段命令或在.vscode
資料夾中建立*.code-snippets
檔案。專案程式碼片段的工作方式與其他程式碼片段一樣,它們顯示在 IntelliSense 中和插入程式碼片段操作中,現在它們有自己的類別。
程式碼片段現在也支援多個字首。如果您無法決定您的版權標題程式碼片段應該以header
、stub
或copyright
作為字首,您可以全部擁有。只需使用字串陣列作為prefix
屬性。
{
"prefix": ["header", "stub", "copyright"],
"body": "Copyright. Foo Corp 2028",
"description": "Adds copyright...",
"scope": "javascript,typescript"
}
開啟資料夾時支援符號連結
長期以來,VS Code 在開啟資料夾時一直在解析符號連結。這意味著即使符號連結有其原因,VS Code 也忽略了它,總是開啟解析後的連結路徑。我們決定更改此行為並保留符號連結。
注意:當將資料夾作為符號連結開啟時,某些功能將以降低的功能執行(例如除錯和Git 整合)。
記錄和搜尋鍵盤快捷鍵
在鍵盤快捷鍵編輯器中(⌘K ⌘S (Windows、Linux Ctrl+K Ctrl+S)),您現在可以透過鍵入擊鍵而不是鍵入鍵名(例如“shift”)來搜尋鍵繫結。開啟記錄鍵模式並鍵入您要搜尋的擊鍵。
您也可以使用⌥⌘K (Windows、Linux Alt+K)進入記錄鍵模式。按Esc
鍵退出記錄鍵模式。
切換面板更改
我們決定重新審視我們切換面板(終端、輸出、問題、除錯控制檯)的命令列為。您可以關注問題19400瞭解此次更改的背景。
舊行為是
- 如果不可見則顯示面板。
- 如果可見則隱藏面板。
新行為是
- 如果不可見則顯示面板。
- 如果具有鍵盤焦點則隱藏面板。
- 當面板可見但沒有焦點時,獲得焦點。
要恢復以前的行為,您可以配置一個鍵繫結,以便在相關面板處於活動狀態時關閉面板。
例如,對於輸出面板
{
"key": "cmd+shift+u",
"command": "workbench.action.closePanel",
"when": "activePanel==workbench.panel.output"
}
面板識別符號列表為
terminal
- 整合終端workbench.panel.markers
- 問題面板workbench.panel.output
- 輸出面板workbench.panel.repl
- 除錯控制檯面板
複製相對路徑
現在,在檔案資源管理器和編輯器選項卡的上下文選單中更顯著地顯示了將檔案路徑複製為相對路徑的命令。
從快速開啟中排除最近開啟的檔案
新設定search.quickOpen.includeHistory
允許您控制最近開啟的檔案是否應作為快速開啟檔案選擇器的一部分。預設情況下,最近開啟的檔案將顯示在搜尋的頂部,工作區中的其他檔案顯示在下面。如果您不想在頂部看到最近開啟的檔案,可以將此設定更改為false
。
刪除檔案時停用回收站
如果您在從資源管理器刪除檔案時遇到問題,當它們移動到 OS 回收站時,您現在可以將files.enableTrash
設定為false
,以便在刪除時永遠不使用 OS 回收站。這樣做會更改檔案資源管理器上的刪除操作和鍵繫結,以繞過 OS 回收站並永久刪除。在刪除發生之前,您仍然會看到提示。
如果檢測到工作區檔案則提示開啟
當開啟一個在根目錄中包含一個或多個.code-workspace
檔案的資料夾時,VS Code 現在會顯示通知,詢問您是否要開啟工作區檔案。開啟工作區檔案通常比僅開啟資料夾提供更好的體驗。您可以在我們的文件中瞭解有關多根工作區的更多資訊。
重新開啟檔案時不恢復檢視狀態
VS Code 即使在檔案關閉後也始終記住檔案的檢視狀態(游標位置、摺疊部分等)。現在有一個新設定workbench.editor.restoreViewState
,用於在檔案關閉時丟棄此檢視狀態。這允許您在重新開啟檔案後始終從檔案頂部開始。
關閉所有編輯器組中的檔案
新命令關閉所有組中的編輯器 (workbench.action.closeEditorInAllGroups
) 允許您關閉所有編輯器組中當前活動的檔案。
問題面板
顯示錯誤程式碼
“問題”面板現在會顯示問題的錯誤程式碼(如果有)。
改進的鍵盤導航
“問題”面板對鍵盤操作更加友好。
- 當面板獲得焦點時,您可以開始輸入以進行篩選。
- 您可以使用⌘F (Windows、Linux Ctrl+F)將焦點置於篩選框,並使用⌘↓ (Windows、Linux Ctrl+Down)將焦點從篩選框移至問題列表。
遙測事件輸出通道
在七月版本中,我們添加了一項功能,當您使用開發人員:設定日誌級別... 命令將日誌級別設定為跟蹤時,VS Code 傳送的所有遙測事件也會記錄到本地檔案。您現在可以在輸出面板的日誌 (遙測) 通道中檢視此檔案的內容。與以前一樣,您可以使用開發人員:開啟日誌檔案... 命令直接檢視該檔案。
將焦點置於自定義檢視
您現在可以使用命令將焦點置於自定義檢視。每個自定義檢視都提供了單獨的命令。
Linux URL 處理
曾經僅限於 Windows 和 macOS 的功能,現在您也可以在 Linux 上開啟 VS Code URL!這些 URL 對許多不同的功能都很有用,例如自動安裝擴充套件,例如vscode-insiders:extension/vscodevim.vim
。
編輯器
Tab 補全
編輯器 Tab 補全現在可以補全所有型別的建議。設定"editor.tabCompletion": "on"
後,按Tab將補全任何字首,而不僅僅是程式碼片段。此外,按Tab將插入下一個建議,按⇧Tab (Windows、Linux Shift+Tab)將插入上一個建議。
導航到上次編輯位置
添加了一個新命令轉到上次編輯位置 (workbench.action.navigateToLastEditLocation
),用於快速導航到檔案中上次編輯的位置。預設鍵繫結是⌘K ⌘Q (Windows、Linux Ctrl+K Ctrl+Q)。
儲存而不進行格式化
新命令儲存而不進行格式化 (workbench.action.files.saveWithoutFormatting
) 可用於儲存檔案而不觸發任何儲存參與者(例如,格式化程式、刪除尾隨空格、最終換行符)。預設鍵繫結是⌘K S (Windows Ctrl+K Ctrl+Shift+S, Linux Ctrl+K S)。這在編輯您正常專案之外的檔案時很有用,這些檔案可能有不同的格式約定。
IntelliSense 本地化獎勵
建議現在可以根據它們到游標的距離進行排序。設定"editor.suggest.localityBonus": true
,您將看到,例如,函式引數顯示在 IntelliSense 列表的頂部。
Emmet
本次迭代我們對 Emmet 功能進行了一些改進。
- 如果您已在 JavaScript 檔案中啟用 Emmet,則現在可以在 HTML 檔案的
<script>
標籤內進行 Emmet 縮寫展開。 - Emmet:用縮寫包裹 功能不再僅限於具有
.html
副檔名的檔案。 - Emmet:平衡(向內)功能現在即使沒有選擇也適用於當前節點。
- 在 SCSS 檔案中錯誤地將帶有
#
的 CSS 選擇器視為有效縮寫的bug現已修復。
原始碼管理
更改 SCM 提交鍵繫結
您現在可以使用scm.acceptInput
命令更改在 SCM 檢視中接受提交訊息的預設鍵繫結。
SCM 狀態列跟蹤活動檔案
左下角的 SCM 狀態列貢獻現在會跟蹤當前活動檔案所屬的儲存庫。這減少了在多資料夾工作區中編輯檔案時的混淆。
Git 整合
更好的刪除衝突處理
刪除衝突一直由 VS Code 檢測。現在有了更好的 UI 流程來處理它們,您在開啟更改時會看到未刪除的版本,並且您可以決定在暫存檔案時如何處理它:保留它或刪除它。
配置長提交訊息警告閾值
git.inputValidationLength
設定現在允許您配置提交訊息在您編輯時需要多長才會出現警告。
“git init”後將資料夾新增到工作區
初始化 Git 倉庫後,VS Code 現在會詢問您是否要將其新增到當前工作區。
配置分支驗證規則
您現在可以使用強大的git.branchValidationRegex
和git.branchWhitespaceChar
設定來控制分支名稱驗證的工作方式。有關詳細資訊,請參閱問題50241。
運行同步時始終 rebase
git.rebaseWhenSync
設定將允許您配置同步命令在執行時始終使用 rebase 而不是 merge。
停用進度報告
透過git.showProgress
設定,您現在可以在 Git 操作期間停用顯示進度。
推送 --force
在您日常的開發工作中,有時您只是想冒險一下。執行git push --force
就是一個很好的例子!VS Code 現在允許您強制將提交推送到遠端,而無需進入終端。使用git.allowForcePush
、git.useForcePushWithLease
和git.confirmForcePush
設定來控制此行為。有關詳細資訊,請參閱問題53286。
儲藏區應用
以下git stash apply
命令現在出現在全域性命令面板中:Git: Apply Stash...、Git: Apply Latest Stash。
始終可見的已暫存更改部分
您現在可以使用git.alwaysShowStagedChangesResourceGroup
設定,即使為空,也始終使已暫存更改部分在 SCM 檢視中可見。
終端
定義鍵繫結以傳送自定義序列
新增了命令workbench.action.terminal.sendSequence
,它允許您直接向活動終端傳送自定義序列。這允許使用\u
格式傳送 Unicode 字元來發送箭頭鍵、Enter 等。
{
"key": "ctrl+u",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[1;5D\u007f" }
}
查詢改進
終端中的查詢功能已得到改進,現在更像編輯器中的查詢功能。
- 支援正則表示式、區分大小寫和匹配單詞。
- 標準的查詢下一個/上一個鍵繫結 (F3, shift+F3) 現在可用。
- 返回跨行換行的查詢結果。
語言
TypeScript 3.1
VS Code 1.28 隨附TypeScript 3.1.1。此版本帶來了新的語言功能,例如可對映的元組和陣列型別,以及許多工具改進和錯誤修復。
重新命名匯入路徑
發現匯入的檔案可以使用更好的名稱?現在您可以透過重新命名匯入來重新命名引用的檔案。
轉換為非同步函式
JavaScript 和 TypeScript 的新轉換為非同步函式建議重寫使用.then
Promise 鏈的函式,使其使用async
和await
。
請注意,此功能要求將設定
javascript.validate.enable
設定為 true。
JS/TS 建議的新設定
我們清理了 JavaScript 和 TypeScript 建議的設定名稱,並添加了一些提供更精細控制的其他設定。
- 所有與建議相關的設定現在都在
javascript.suggest.*
和typescript.suggest.*
下。 typescript.useCodeSnippetOnMethodSuggest
已重新命名為javascript.suggest.completeFunctionCalls
和typescript.suggest.completeFunctionCalls
。javascript.nameSuggestions
已重新命名為javascript.suggest.names
。typescript.autoImportSuggestions.enabled
已重新命名為javascript.suggest.autoImports
和typescriptscript.suggest.autoImports
。- 新的
javascript.suggest.enabled
和typescript.suggest.enabled
允許您完全停用 JS 或 TS 建議。
JavaScript/TypeScript 中分號作為提交字元
分號現在是 JavaScript 和 TypeScript 建議的提交字元。這意味著您只需鍵入;
即可接受當前建議。現有提交字元還包括.
和(
。
您可以透過設定"editor.acceptSuggestionOnCommitCharacter": false
來停用提交字元。
HTML 和 CSS 路徑補全排除點檔案
以.
開頭的檔案現在已從路徑補全結果中排除。
更好的 Markdown 摺疊
多行列表、柵欄式程式碼塊和原始 HTML 現在可在 Markdown 檔案中摺疊。
Markdown 預覽現在在預覽中開啟本地檔案的連結
在 Markdown 預覽中,單擊指向本地檔案的連結現在將開啟該檔案的預覽。
這使得瀏覽文件更加容易。使用markdown.preview.openMarkdownLinks
設定來配置連結的處理方式。有效的設定值為:
inEditor
- 在編輯器中開啟本地 Markdown 連結。inPreview
- 在當前預覽中開啟本地 Markdown 連結。這是新的預設行為。
擴充套件
搜尋篩選改進
您現在可以使用@category
過濾器以及其他已安裝擴充套件的過濾器(如@installed
、@enabled
、@disabled
和@outdated
)來組成您的擴充套件搜尋查詢。例如,您可以使用查詢@installed @category:themes
搜尋已安裝的主題,或使用@installed @category:snippets
搜尋貢獻程式碼片段的已安裝擴充套件。
已停用的擴充套件不計為過時
活動欄上顯示過時擴充套件數量的擴充套件檢視徽章現在將排除已停用的擴充套件。此徽章的目的是讓您知道有您可能想要更新的過時擴充套件。由於已停用的擴充套件當前未在使用,將它們計入數量只會分散注意力。
擴充套件主機無響應
VS Code 在一個名為擴充套件主機的單獨程序中執行擴充套件。此程序使用訊息傳遞與渲染器/UI 程序通訊。我們已添加了更好的訊息跟蹤到擴充套件主機,如果一條訊息在 10 秒內未得到確認,我們將顯示以下通知:
這意味著什麼:很可能某個擴充套件正在執行 CPU 密集型操作,導致擴充套件主機程序阻塞超過 10 秒。
該怎麼做:一個選項是等待操作完成並簡單地忽略通知。另一個選項是調查哪個擴充套件導致高 CPU 使用率,方法是轉到正在執行的擴充套件檢視並開始分析擴充套件主機。然後,您可以直接針對問題擴充套件建立問題。最後,如果您認為擴充套件已進入無限迴圈且似乎無法恢復,您可以重新啟動擴充套件主機。
工程
擴充套件和 webpack
我們繼續了webpack的工作,現在大多數捆綁的擴充套件都已使用 webpack 打包。回顧一下:這有助於縮短擴充套件的啟動時間,因為要載入的檔案更少,要解析的原始碼也更少。它還有助於縮短安裝時間,因為需要提取和寫入磁碟的檔案更少。
本次里程碑我們又削減了 2803 個檔案。7 月份我們有 9000 個檔案,到 8 月份我們減少到 4650 個,而 9 月份我們有 1847 個!
預覽功能
預覽功能尚未準備好釋出,但已足夠實用。我們歡迎您在這些功能開發期間提供早期反饋。
繼續探索 Electron 3.0
在此里程碑中,我們繼續探索將 Electron 3.0.0 捆綁到 VS Code 中。這是一個重要的 Electron 版本,包含 Chrome 66 和 Node.js 10.x(與我們當前擁有 Chrome 61 和 Node.js 8.x 的版本相比,這是一個重大飛躍)。我們計劃在不久的將來向我們的 Insiders 使用者推出更新,以收集更多反饋。如果您有興趣提供幫助,請務必安裝 VS Code Insiders。
雜項
macOS Mojave 上的模糊
如果您已更新到 macOS 10.14 (Mojave),您可能會注意到,如果您未使用高 DPI 顯示器,VS Code 中的字型看起來會模糊。
解決方法是從終端執行
defaults write com.microsoft.VSCode.helper CGFontRenderingFontSmoothingDisabled -bool NO
然後重新啟動您的計算機。
請注意,此更改是針對所有應用程式的全域性更改,並非特定於 VS Code。請參閱問題51132以獲取相關討論。
Electron 更新
在此版本中,我們將 Electron 從 2.0.7 更新到 2.0.9。最值得注意的是,這使得 VS Code 可以在 ArchLinux 上再次執行(問題55934)。
擴充套件開發
處理未安裝擴充套件的 URL
早在七月,我們釋出了用於擴充套件處理系統級 URI 的 URI Handler API。藉助最新版本,VS Code 甚至可以處理尚未安裝的擴充套件的 URI。一旦使用者開啟此類 URI,VS Code 將在 Marketplace 中搜索該擴充套件,建議使用者安裝它,然後啟動 VS Code 並傳入該 URI。這使得擴充套件可以擁有流暢的啟動流程,將使用者從網頁帶到以特定狀態執行擴充套件。
診斷錯誤程式碼
由於診斷錯誤程式碼現在顯示在“問題”面板中,擴充套件不再需要將錯誤程式碼新增到Diagnostic.message
屬性中。
更好的配置 when 子句
在編寫鍵繫結或選單可見性時,會使用when 子句。在 when 子句中,您可以透過在配置(設定)值前加上config.
來引用它,例如config.editor.tabCompletion
。以前只支援布林配置屬性,但在此版本中,您也可以使用字串和數字值。
更改文字文件的語言
新增了一個 API 函式,用於更改文件的語言模式:vscode.languages.setTextDocumentLanguage
。該 API 接受一個文件和一個您想要使用的語言識別符號。要了解可用的語言 ID,請使用vscode.languages.getLanguages
。
workspaceContains
啟用
擴充套件可以使用workspaceContains
啟用事件,以便在開啟包含與某個模式匹配的檔案的 workspace 時啟用。例如,PHP 擴充套件可能會要求在開啟包含與**/*.php
匹配的檔案的 workspace 時啟用。這並不是新功能,但使用者指出,當開啟大型 workspace 時,搜尋過程可能執行很長時間並佔用大量 CPU。
我們做了一些更改,以減少這些搜尋的影響。首先,這些搜尋現在將遵循使用者的files.exclude
、search.exclude
和search.useIgnoreFiles
設定。換句話說,如果使用者無法透過普通文字搜尋或透過快速開啟的檔案搜尋找到檔案,則workspaceContains
模式將不會匹配該檔案。這大大減少了我們必須為workspaceContains
搜尋的檔案數量,並減少了當它匹配一個不屬於專案的檔案時(例如,埋在node_modules/
中的某個檔案)的錯誤啟用。
第二個更改是對此類搜尋施加 7 秒的限制。如果搜尋在 7 秒後仍未完成,我們將終止搜尋過程並無論如何都啟用擴充套件。
總的來說,這應該會減少在 VS Code 中開啟大型工作區後筆記型電腦神秘發熱的情況。
新主題顏色
有新的主題顏色
menu.separatorBackground
:選單中分隔符選單項的顏色。sideBarSectionHeader.border
:側邊欄部分標題邊框顏色。inputValidation.infoForeground
:資訊嚴重性輸入驗證前景色。inputValidation.warningForeground
:警告嚴重性輸入驗證前景色。inputValidation.errorForeground
:錯誤嚴重性輸入驗證前景色。editor.snippetTabstopHighlightBackground
:程式碼片段製表位突出顯示背景顏色。editor.snippetTabstopHighlightBorder
:程式碼片段製表位突出顯示邊框顏色。editor.snippetFinalTabstopHighlightBackground
:程式碼片段最終制表位突出顯示背景顏色。editor.snippetFinalTabstopHighlightBorder
:程式碼片段最終制表位突出顯示邊框顏色。activityBar.inactiveForeground
:活動欄專案非活動時的前景色。
除錯 API
resolveDebugConfiguration
需要顯式返回null
才能開啟launch.json
以前,如果resolveDebugConfiguration
返回的啟動配置沒有type
屬性,VS Code 會自動開啟一個底層launch.json
檔案。在收到擴充套件作者的反饋後,我們決定讓擴充套件對此場景擁有更多控制權。
現在resolveDebugConfiguration
必須顯式返回null
值以防止除錯會話啟動並改為開啟launch.json
。返回undefined
值只會阻止除錯會話啟動。與以前一樣,返回具有type
屬性的配置將啟動除錯會話。
提議的擴充套件 API
每個里程碑都附帶新的提議 API,擴充套件作者可以試用它們。一如既往,我們渴望您的反饋。以下是試用提議 API 所需的操作:
- 您必須使用 Insiders 版本,因為提議的 API 經常更改。
- 您的擴充套件的
package.json
檔案中必須包含以下行:"enableProposedApi": true
。 - 將最新版本的 vscode.proposed.d.ts 檔案複製到您的專案中。
請注意,您不能釋出使用提議 API 的擴充套件。我們很可能會在下一個版本中進行破壞性更改,我們絕不希望破壞現有擴充套件。
除錯 API
新的DebugConfigurationProvider.provideDebugAdapter
取代了DebugConfigurationProvider.debugAdapterExecutable
命令
此前我們添加了提議的 API DebugConfigurationProvider.debugAdapterExecutable
,以便擴充套件可以為即將由 VS Code 啟動的除錯介面卡返回動態計算的路徑(和相應的程式引數)。在此里程碑中,我們根據收到的反饋(例如#45220、#56646、#57706、#54465)修訂了初始設計。
新的 API 方法稱為provideDebugAdapter
,現在我們傳入除錯會話、工作區資料夾、來自package.json
的可執行資訊以及已解析的啟動配置。有了這些資訊,擴充套件在被要求建立除錯介面卡時就有了“全貌”。
此外,我們現在支援更多啟動和連線除錯介面卡實現的方式。為此,可以從provideDebugAdapter
方法返回一個描述符物件:
DebugAdapterExecutable
描述符可用於將除錯介面卡作為每個會話的外部程序啟動,並透過 stdin/stdout 與其通訊。透過新的 API,現在可以為除錯介面卡指定工作目錄和環境變數。DebugAdapterServer
描述了一個處理多個會話並透過套接字通訊的伺服器程序。DebugAdapterImplementation
可用於沒有通訊開銷的就地實現。此選項依賴於對基於Node.js 的 DAP 客戶端庫進行的小幅修改,計劃於 10 月推出。
請注意,這是提議的 API,不能在 Marketplace 上釋出的擴充套件中使用。但是,我們非常感謝您對問題45220上DebugConfigurationProvider.provideDebugAdapter
的反饋。
評論編輯和刪除
在上一次迭代中,我們引入了DocumentCommentProvider
,允許擴充套件在編輯器中建立和管理註釋。我們為此提供程式添加了新方法,以支援註釋的編輯和刪除。註釋本身現在也具有標誌,指示它們是否支援編輯或刪除。如果擴充套件設定了這些標誌之一併提供了適當的編輯或刪除方法,則當滑鼠懸停或焦點位於編輯器中的註釋上時,將顯示編輯或刪除註釋的操作。
新命令
鍵 | 命令 | 命令 ID |
---|---|---|
⌘K ⌘Q (Windows、Linux Ctrl+K Ctrl+Q) | 導航到上次編輯的位置 | workbench.action.navigateToLastEditLocation |
⌘K S (Windows Ctrl+K Ctrl+Shift+S, Linux Ctrl+K S) | 儲存檔案而不執行儲存參與者(格式化程式等) | workbench.action.files.saveWithoutFormatting |
關閉所有編輯器組中的活動檔案 | workbench.action.closeEditorInAllGroups |
|
切換差異編輯器內聯和並排模式(已棄用toggle.diff.editorMode ) |
toggle.diff.renderSideBySide |
新文件
GitHub Pull Request 擴充套件部落格文章
您可以閱讀 Kenneth 最近的部落格文章,其中宣佈了新的GitHub Pull Request擴充套件,並討論了 VS Code 與 GitHub 編輯器團隊之間的協作。
使用 Azure Pipelines 部落格文章
在在 Visual Studio Code 中使用 Azure Pipelines一文中,VS Code 工程師 João Moreno 描述了 VS Code 如何現在使用Azure Pipelines作為其構建和持續整合 (CI) 基礎設施。
新的 PowerShell 主題
Visual Studio Code 中的 PowerShell展示了透過 Microsoft PowerShell 擴充套件進行的 PowerShell 整合。該擴充套件支援強大的語言功能,如 IntelliSense、轉到定義和查詢所有引用,以及除錯和程式碼片段。
新的 Python Django 教程
有一個新的在 Visual Studio Code 中使用 Django教程,展示瞭如何在 VS Code 中快速建立、編輯和除錯 Python Django Web 應用程式。
值得注意的修復
- 48051:格式化後需要向左滾動
- 31619:必須在程式碼片段中遍歷已刪除的製表位
- 58327:除錯工具欄按鈕被停用
- 35935:“清除最近開啟”也應清除編輯器快速選擇歷史記錄
- 58799:儲存時顯示未命名的檔案
- 29553:按 Esc 時保留快速開啟輸入
- 58222:UriDisplayService 缺少遠端共享路徑名稱
- 54213:在不顯示 launch.json 的情況下中止除錯啟動的機制
- 52511:除錯懸停視窗 - 啟用長專案且溢位隱藏的視窗大小調整
- 50569:條件斷點提示應在斷點已停用時提供啟用斷點的選項
- 42737:擴充套件:允許右鍵單擊以顯示齒輪選單
- 58434:使用
--force
引數防止在從 CLI 安裝擴充套件時出現提示。
感謝
最後但同樣重要的是,衷心感謝!以下幫助使 VS Code 變得更好的各位:
對 vscode
的貢獻
- Sribalaji M (@1AmNegan):使用鍵繫結 PR #51235 將下一個更改/上一個更改的視口居中
- Agustín Rodríguez (@agurodriguez):Markdown 預覽中差異的樣式 PR #59289
- Andrew Casey (@amcasey):新增 typescript-language-features/languageserviceerrorresponse 的 GDPR 註釋 PR #57182
- Andy Li (@andyli):覆蓋 Ubuntu 的預設整合終端字型選項 (#_35901) PR #56429
- Aliaksandr Stelmachonak (@ava1ar):新增 ARM64 構建支援 PR #52119
- Beau Allison (@beauallison):將 GIT 淺色檢查圖示與深色對齊 PR #50526
- Andre Wachsmuth (@blutorange):修復 Promise polyfill,鏈式 Promise 有效 PR #57723
- Bruno Finger (@brunofin):建立分支時也替換括號 PR #57374
- David Staheli (@DavidStaheli):使用新的 VSTS YAML 語法 PR #57745
- Dave Williams (@davnicwil):新配置以關閉 TypeScript 自動完成建議 PR #58011
- Dustin Campbell (@DustinCampbell):更新 C# 語法 PR #57451
- Eric Amodio (@eamodio):帶查詢字串的影像 URI 未正確檢測 PR #58314
- @Git-Lior
- Guy Waldman (@guywald1)
- Jay Rodgers (@headmelted)
- Eric Gang (@Hirico):修復 #53465,在使用 git-diff 編輯器中的“開啟檔案”後保留顯示區域 PR #54867
- Jatin Sandilya (@jats22):刪除 python 的絕對路徑 PR #56943
- Jason Bright (@jgbright)
- Jim Hessin (@jhessin):更新 language-configuration.json PR #44566
- JYX (@jjyyxx):修復 tsconfig.schema.json 中不準確的描述 PR #58582
- Jonathan Perret (@jonathanperret):修復 workbench.editor.labelFormat 中的拼寫錯誤 PR #59155
- Konstantin Müller (@konstantin-mueller):#54204 新增命令以應用 stash PR #54300
- limerick (@limerickgds):類自動完成的生成器方法導致星號 (*) 被新增… PR #51557
- Luis Zuniga (@luiszun):傳送前檢查路徑中是否有空格。避免檔名被解讀為… PR #56966
- @lzmkony:刪除重複的函式 PR #57700
- Muhammad Azeem (@manixate):防止捲軸被視為拖放的目標 PR #49747
- Matt Hardcastle (@MattHardcastle):在結束時不要自動關閉 PR #55315
- Maarten Fonville (@mfonville):將 Electron 更新到 2.0.9 PR #58382
- Marat Abdullin (@mshoho):一個選項,僅將純文字複製到剪貼簿。 PR #54155
- Néstor Hernández Ojeda (@nesukun):新增對強制推送和帶租約強制推送的支援 PR #53286
- Nilesh Kevlani (@njkevlani):添加了用於向終端傳送自定義序列的新命令 PR #56962
- Noam Yogev (@noamyogev84):允許程式碼片段 json 字首為陣列,以支援同一程式碼片段的多個字首 PR #59092
- Alexandre ZANNI (@noraj):新增更多 Markdown 擴充套件 PR #58072
- Sardorbek (@oneslash)
- Karthikayan (@ParkourKarthik)
- Chi Wang (@patr0nus):修復“無效起始索引”錯誤 PR #57617
- Morten N.O. Nørgaard Henriksen (@raix):新增分支名稱驗證和空格配置 PR #50712
- Rik Smeets (@rik-smeets):新增選單項缺少的訪問鍵(助記符) PR #58412
- Rodrigo Varas (@rodrigovaras):修復當即時共享代理除錯介面卡時 EH 除錯無法工作的問題 PR #58227
- Segev Finer (@segevfiner)
- @sucicf1:修復#35905 PR #58380
- Thomas Basche (@tombasche):允許空的 git 提交 PR #56048
- tsangint (@tsangint):修復拼寫錯誤 PR #57192
- Alexander (@usernamehw):修復 Tab 焦點相關問題 PR #57821
- Winner Crespo (@wistcc)
對 language-server-protocol
的貢獻
- Tyson Andre (@TysonAndre):修復更多拼寫錯誤 PR #568
對 vscode-languageserver-node
的貢獻
- Mathias R. Jessen (@IISResetMe):修復錯誤訊息“received”的拼寫錯誤 PR #414
對 debug-adapter-protocol
的貢獻
- Antonino Perricone (@APerricone):APerricone 添加了 harbour 語言 PR #6
對 vscode-recipes
的貢獻
- Daryl Knowles (@darylknowles):Debug End-To-End 應該使用 ng e2e 啟動本地伺服器 PR #122
- Karuppasamy M (@karuppasamy):為 Ruby on Rails 新增配方 PR #59
- Trivikram Kamat (@trivikr):添加了在 VS Code 中除錯 node-tap 測試的配方 PR #128
對 vscode-chrome-debug
的貢獻
- Sasha (@stristr):使用可空
targetTypes
屬性進行高階除錯。 PR #727
對 vscode-chrome-debug-core
的貢獻
對 localization
的貢獻
Transifex VS Code 專案團隊中有近 1200 名成員,每月約有 100 名活躍貢獻者。我們感謝您的貢獻,無論是提供新的翻譯、對翻譯投票還是提出流程改進建議。
以下是此版本的貢獻者快照。有關專案(包括貢獻者名單)的詳細資訊,請訪問專案網站:https://aka.ms/vscodeloc。
- 孟加拉語:Anisuzzaman Khan, abm_prottoy, Mushiar Khan, Mehedi Hassan。
- 保加利亞語:Любомир Василев。
- 克羅埃西亞語:Nikša Mihaica。
- 捷克語:Vít Staniček。
- 丹麥語:Kenneth Greig, Johan Fagerberg, Martin Fruensgaard。
- 荷蘭語:Gerald Versluis, Marco van den Hout。
- 法語:Antoine Griffard, MayakoLyyn, Smrman, Etienne Blanc-Coquand。
- 德語:J.M., Carsten Kneip, Volkmar Rigo, SetTrend。
- 希臘語:Nikolaos Maliakkas。
- 印地語:Ashwini Gupta, Shaswat Rungta。
- 匈牙利語: Tar Dániel.
- 簡體中文:Joel Yang, 子實 王, pluwen, Chris Pan 潘鼕鼕, danyeh。
- 繁體中文:Duran Hsieh, Poy Chang, Alan Tsai, Han Lin, Shih-Ming Tung, Will 保哥。
- 印度尼西亞語:G-RiNe Project, Wildan Mubarok, Rizki A. Wibowo, Riwut Libinuko, Azhe-kun, rodin, Febrian Setianto (Feber)。
- 義大利語:Luigi Bruno, Luca Bruni, Alessandro Alpi, Emilie Rollandin, Pascal Brax, Andrea Dottor, Riccardo Cappello。
- 日語:Satoshi Kajiura, Shunya Tajima, Yuichi Nukiyama, yoshioms, daisuke osada (daiskeh)。
- 韓語:Kyunghee Ko, jaeyeon Kim, Junseong Jang, Jisan Oh。
- 立陶宛語:Martynas Jusys。
- 馬拉雅拉姆語:Kiren Paul。
- 挪威語:Espen Klein Nilsen。
- 波蘭語:Artur, Patryk Brejdak, Adam Borowski, Mateusz Wyczawski。
- 葡萄牙語(巴西):Roberto Fonseca, Bruno Sonnino, Danilo Dantas, Marcelo Fernandes, Thiago Custodio, Rodrigo Crespi, Marcelo Andrade, Alessandro Fragnani, Lucas Miranda, Otacilio Saraiva Maia Neto。
- 葡萄牙語(葡萄牙):António Santos,Diogo Barros, António Lourenço, jp2masa, Ruben Mateus, Henrique Silva, André Vala。
- 俄語:Ivan Kuzmenko, Roman Slauta。
- 西班牙語:Jorge Serrano Pérez, José M. Aguilar, Alberto Poblacion, Carlos Mendible, Alejandro Medina, Andy Gonzalez,Carlos Herrera。
- 泰米爾語:Vijay Nirmal, rajakvk, Anand AV。
- 土耳其語:Mustafa Turhan, Fırat Payalan, Selim Ata。