翻譯|產(chǎn)品更新|編輯:陳津勇|2019-09-10 14:20:46.590|閱讀 830 次
概述:Visual Studio Code每月更新一次,現(xiàn)已更新至v1.38。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
VS Code(Visual Studio Code)已成為多語言開發(fā)人員的首選文本編輯器。 大量 Javascript、TypeScript、Go、Python 和其它語言的開發(fā)人員都在使用 VS Code 進(jìn)行編碼,這部分歸功于 VS Code 擴(kuò)展形成的龐大生態(tài)系統(tǒng)。這些擴(kuò)展增強(qiáng)和豐富了 VS Code 的體驗,使其成為類 IDE 的超級智能文本編輯器,同時它又極其快速和輕量級。現(xiàn)已更新至v1.38。以下是最新版更新/修復(fù)的內(nèi)容。(有關(guān)本次更新的更多內(nèi)容,請點(diǎn)擊此處查看>>>)
語言
HTML和CSS的MDN參考
VS Code現(xiàn)在顯示一個指向HTML和CSS實體完成和懸停時相關(guān)MDN參考的URL:
我們感謝MDN文檔團(tuán)隊努力策劃mdn-data/mdn-browser-compat-data并使VS Code能夠輕松訪問MDN資源。
改善較少的支持
VS Code現(xiàn)在支持許多新的Less.js功能,包括根函數(shù),地圖查找和匿名混合。
非標(biāo)準(zhǔn)和過時CSS屬性的棄用標(biāo)記
CSS語言服務(wù)器采用了Deprecation標(biāo)簽實驗API,并為自動補(bǔ)全中標(biāo)記為非標(biāo)準(zhǔn)或過時的CSS屬性顯示了一個Deprecation標(biāo)記。
TypeScript 3.6
VS Code現(xiàn)在附帶TypeScript 3.6.2。這個主要更新帶來了一些TypeScript語言改進(jìn)——包括更嚴(yán)格的生成器和對導(dǎo)入的支持。以及JavaScript和TypeScript的一些新工具特性。與往常一樣,這個版本還包含了許多重要的bug修復(fù)。
添加缺失等待快速修復(fù)
你的代碼是否領(lǐng)先一步?新增的“等待”快速修復(fù)功能可以幫助您等待在異步代碼中可能忽略的值:
此快速修復(fù)程序適用于啟用了類型檢查的 TypeScript和JavaScript源代碼。
以分號識別的JavaScript和TypeScript編輯
當(dāng)您在JavaScript或Typescript源代碼中添加導(dǎo)入或應(yīng)用重構(gòu)時,VS Code現(xiàn)在會嘗試推斷是否在文件中包含現(xiàn)有代碼的分號:
您可以在添加此功能的pull請求中找到此分號檢測的工作原理的詳細(xì)信息。一些快速修復(fù)和重構(gòu)仍然不能用分號識別,但我們將在未來的更新中努力解決這個問題。
JSDoc注釋不再為IntelliSense合并
以前,我們的JavaScript和TypeScript IntelliSense會將多個JSDoc注釋組合在一個定義之前。在下面的示例中,請注意該User類型的文檔如何與getUser函數(shù)的文檔合并:
使用TypeScript 3.6,我們的IntelliSense現(xiàn)在只使用前面的JSDoc注釋來獲取文檔和輸入信息:
源控制
Git:提交輸入上的分支名稱
現(xiàn)在,當(dāng)前的Git分支名稱出現(xiàn)在提交輸入框中,以避免在錯誤的分支上提交:
Git:按字母順序?qū)Ψ种Я斜磉M(jìn)行排序
使用Git:Checkout to ...命令檢出分支時,有一個新設(shè)置git.branchSortOrder可以更改分支的順序。
Git:支持pull cancel
當(dāng)啟用git時,通過設(shè)置supportcancel,您將有機(jī)會取消正在進(jìn)行的Git拉請求,這在從較慢的遠(yuǎn)程拉取時非常有用。
調(diào)試
價值變化時突破(數(shù)據(jù)斷點(diǎn))
從“變量”視圖中,現(xiàn)在可以創(chuàng)建在基礎(chǔ)變量的值更改時將被命中的數(shù)據(jù)斷點(diǎn)。與其他斷點(diǎn)一樣,可以在“斷點(diǎn)”視圖中禁用/啟用和刪除數(shù)據(jù)斷點(diǎn)。
請注意,數(shù)據(jù)斷點(diǎn)需要底層運(yùn)行時或調(diào)試器的特定支持,我們希望將來只有少數(shù)調(diào)試擴(kuò)展(如C ++和C#,而不是Node.js)可以選擇加入此功能。對于此版本,只有我們的示例調(diào)試器模擬調(diào)試 “ 模擬 ”數(shù)據(jù)斷點(diǎn)。
調(diào)用堆棧視圖改進(jìn)
我們對Call Stack視圖做了一些改進(jìn),最值得注意的是:
當(dāng)調(diào)試會話只有一個線程時,我們將始終隱藏線程并直接顯示調(diào)用堆棧。
單擊“調(diào)用堆棧”視圖中的線程和調(diào)試會話不再展開/折疊它們。只有明確點(diǎn)擊twistie才會進(jìn)行擴(kuò)展。這種變化的原因在于,在不進(jìn)行不必要的擴(kuò)展的情況下更改焦點(diǎn)會話非常繁瑣。在Outline視圖中可以看到相同的行為。
以前,當(dāng)有一個新的調(diào)試會話時,Debug視圖將獲得焦點(diǎn)。現(xiàn)在,只有會話實際中斷時,Debug視圖才會獲得焦點(diǎn)。
當(dāng)實際存在該會話的線程時,調(diào)試會話元素僅顯示兩次。
啟動調(diào)試目標(biāo)的新shell設(shè)置
當(dāng)在集成終端中啟動調(diào)試目標(biāo)時,VS Code現(xiàn)在考慮了新的“自動化shell”設(shè)置(Terminal.Integrated.automationshell…)。如果在啟動調(diào)試目標(biāo)時使用集成終端的特定默認(rèn)shell(例如,tmux),則該設(shè)置非常有用。
"terminal.integrated.shell.osx": "/Users/user/bin/tmux_script" "terminal.integrated.automationShell.osx": "bash", |
對擴(kuò)展的貢獻(xiàn)
幫助webview擴(kuò)展添加內(nèi)容安全策略
我們已經(jīng)確定了一些創(chuàng)建沒有內(nèi)容安全策略的webview的擴(kuò)展。雖然這并不是一個迫在眉睫的問題,但所有webview都應(yīng)該將內(nèi)容安全策略作為一種良好的安全性最佳實踐。在這次迭代中,我們已經(jīng)開始針對這些擴(kuò)展展開討論。
GitHub拉請求
這個里程碑我們繼續(xù)致力于改進(jìn)GitHub Pull Requests擴(kuò)展,包括錯誤修復(fù)和合并拉取請求后刪除分支和遠(yuǎn)程等功能。
遠(yuǎn)程開發(fā)(預(yù)覽)
遠(yuǎn)程開發(fā)擴(kuò)展的工作仍在繼續(xù),它允許您將容器,遠(yuǎn)程計算機(jī)或Windows子系統(tǒng)Linux(WSL)用作功能齊全的開發(fā)環(huán)境。
為了幫助您開始使用遠(yuǎn)程開發(fā)擴(kuò)展,有三個分步教程:
Containers——在Docker容器中運(yùn)行Visual Studio Code。
通過SSH遠(yuǎn)程——使用Visual Studio Code通過SSH連接到遠(yuǎn)程和虛擬機(jī)。
在WSL中工作——在Windows子系統(tǒng)Linux中運(yùn)行Visual Studio Code。
擴(kuò)展創(chuàng)作
VS Code圖標(biāo)存儲庫
我們已經(jīng)發(fā)布了所有VS代碼圖標(biāo)的存儲庫,供擴(kuò)展作者使用。每個圖標(biāo)都有深色/淺色版本,我們還鏈接到Figma設(shè)計文件。
Webview.asWebviewUri和Webview.cspSource
網(wǎng)絡(luò)視圖有兩個新屬性:
Webview.asWebviewUri——將本地文件系統(tǒng)的URI轉(zhuǎn)換為可在webview中使用的URI。
對于桌面VS Code,這會將file:URI轉(zhuǎn)換為vscode-resource:URI。
Webview.cspSource——webview資源的內(nèi)容安全策略源。
對于桌面VS Code,這將是字符串vscode-resource:。
const panel = vscode.window.createWebviewPanel(CatCodingPanel.viewType, 'Cat Coding', vscode.ViewColumn.One, { // Restrict the webview to only loading local content from our extension's `media` directory. localResourceRoots: [vscode.Uri.file(path.join(extensionPath, 'media'))] }); const imagePath = vscode.Uri.file(path.join(extensionPath, 'media')); panel.html = ` Cat Coding `
在沒有內(nèi)容安全策略的情況下創(chuàng)建webview時發(fā)出警告
現(xiàn)在,在開發(fā)使用Webview API的擴(kuò)展時,我們會在您創(chuàng)建未設(shè)置內(nèi)容安全策略的Web視圖時記錄警告。
所有webview(即使是非常簡單的)都應(yīng)該設(shè)置一個內(nèi)容安全策略。這有助于限制內(nèi)容注入的潛在影響,通常是深入防御的好方法。
特定機(jī)器的重寫的設(shè)置
現(xiàn)在,您可以使用范圍machine-overridable定義一個特定于機(jī)器的設(shè)置,該設(shè)置可以在工作區(qū)和文件夾級別上覆蓋。
"configuration": { "title": "My Extension Settings", "properties": { "myextension.libPath": { "type": [ "string", "null" ], "markdownDescription": "Specify the path to the library.", "default": null, "scope": "machine-overridable" } } }
在自定義樹視圖中進(jìn)行多選
通過createTreeView生成的樹現(xiàn)在可以將canSelectMany選項添加到TreeViewOptions。這允許在貢獻(xiàn)的樹視圖中進(jìn)行多選,并使運(yùn)行在樹元素上的命令在第二個命令參數(shù)中以數(shù)組的形式接收所有選中的樹元素。
markdown.api.render
markdown.api.render來自VS Code的內(nèi)置Markdown擴(kuò)展的新命令采用stringMarkdown或a vscode.TextDocument并將呈現(xiàn)的Markdown作為HTML返回:
import * as vscode from 'vscode'; export function activate(context: vscode.ExtensionContext) { vscode.commands.executeCommand('markdown.api.render', '# Hello Markdown').then(result => { console.log(`rendered markdown: ${result}`); }); }
日志:
rendered markdown: Hello Markdown
自定義數(shù)據(jù)標(biāo)記為穩(wěn)定
在2019年1月1.31版本中作為實驗性功能引入的自定義數(shù)據(jù)格式現(xiàn)在標(biāo)記為穩(wěn)定。
html.experimental.customData- 此設(shè)置已棄用并被html.customData取代。
css.experimental.customData- 此設(shè)置已棄用并被css.customData取代。
contributes.html.experimental.customData- 此貢獻(xiàn)點(diǎn)已棄用并被contributes.html.customData取代。
contributes.css.experimental.customData- 此貢獻(xiàn)點(diǎn)已棄用并被contributes.css.customData取代。
不推薦使用的workspace.rootPath
很久以前,我們添加了對多根工作空間的支持,并棄用了API workspace.rootPath,并支持workspace.workspaceFolders和workspace.getWorkspaceFolder。我們注意到許多擴(kuò)展仍然使用此API,即使它在多根工作空間中無法正常工作。如果您擁有使用此API的擴(kuò)展程序,請更新它,因為將來此API可能被刪除。
語言服務(wù)器協(xié)議
流媒體和進(jìn)度報告支持已添加到語言服務(wù)器協(xié)議的下一版本中。擬議實現(xiàn)服務(wù)器和客戶端都可以作為vscode-languageserver@5.3.0-next.10和vscode-languageclient@5.3.0-next.9分別。
調(diào)試適配器協(xié)議
完成提案的改進(jìn)
調(diào)試適配器現(xiàn)在可以使用新功能completionTriggerCharacters來通知前端UI應(yīng)該使用的字符來觸發(fā)REPL或調(diào)試控制臺中的完成提議UI。如果未指定,則前端UI應(yīng)使用“.” 用于觸發(fā)提案UI的字符。
此外,我們還向CompletionItem類型添加了一個可選的sortText屬性。使用此屬性,調(diào)試適配器可以控制前端UI如何對適配器返回的完成建議進(jìn)行排序。如果缺少屬性,前端可以根據(jù)label屬性對項進(jìn)行排序。
修正了DAP JSON模式中的一個類型問題
在調(diào)試適配器協(xié)議JSON模式中,我們將類型說明符number的使用更改為integer,用于那些浮點(diǎn)類型沒有意義的地方,例如對于id。
建議的擴(kuò)展API
每個里程碑都附帶新的API,擴(kuò)展作者可以試用它們。一如既往,我們熱衷于您的反饋。這是您提出的API所必須做的事情:
必須使用Insiders,因為建議的API經(jīng)常更改。
必須在package.json擴(kuò)展程序的文件中包含以下行:"enableProposedApi": true。
將最新版本的vscode.proposed.d.ts文件復(fù)制到項目中。
請注意,您無法發(fā)布使用建議API的擴(kuò)展程序。我們可能會在下一個版本中進(jìn)行重大更改,但絕不會破壞現(xiàn)有的擴(kuò)展。
符號和完成的棄用標(biāo)簽
完成和文檔/工作區(qū)符號的API現(xiàn)在支持將項目標(biāo)記為已棄用。完成和符號具有一個新的可選屬性tags,它是一組CompletionItemTags或SymbolTags。今天,僅支持棄用,但有計劃添加更多標(biāo)簽,例如訪問修飾符和其他修飾符的標(biāo)簽。
下面的代碼段顯示了一個最小完成項提供程序,該提供程序呈現(xiàn)標(biāo)記為已棄用的項。
vscode.languages.registerCompletionItemProvider('plaintext', { provideCompletionItems() { const item = new vscode.CompletionItem("deprecated_completion"); item.tags = [vscode.CompletionItemTag.Deprecated]; return [item]; } });
顯示已棄用的完成符號或符號時,會在名稱中呈現(xiàn)刪除線,項目會略微變暗,并且不會突出顯示:
Pseudoterminal.onDidClose現(xiàn)在接受一個數(shù)字
建議Pseudoterminal.onDidClose已從a Event
已棄用的建議終端API已刪除
不推薦使用的TerminalOptions.runInBackground和createTerminalRendererAPI已經(jīng)被刪除。如果你需要遷移它們,應(yīng)該分別使用TerminalOptions.hideFromUser(穩(wěn)定)和ExtensionTerminalOptions(建議)。
新命令
我們現(xiàn)在公開了用于在編輯器、集成終端、擴(kuò)展詳細(xì)信息視圖和Web視圖中在“查找”控件中導(dǎo)航搜索結(jié)果的命令。
值得注意的修復(fù)
26012:自動插入parens與完成不能很好地交互,導(dǎo)致重復(fù)的字符
47292:擴(kuò)展無法訪問由任務(wù)創(chuàng)建的診斷
73884:Linux:從FTP連接打開文件顯示為空
75054:macOS簡單全屏再次正常工作
77293:在提供的debugconfigurations和resolveDebugConfigurations中使用CancelationToken來取消調(diào)試
77735:如果稍后存在RenameFile,則 workspace.applyEdit將刪除TextEdit
77747:文件名$(xx)視圖中顯示不正確的文件名
77990:從TS / JS文件開始,文件比打開其他文件慢得多
77996:文件>另存為將光標(biāo)移動到文件的開頭
78147:配置任務(wù)操作應(yīng)顯示新添加的任務(wù)并將光標(biāo)定位在那里
78179:使用類型過濾器調(diào)用'tasks.fetchTask()'可以獲取所有任務(wù)
79478:在markdown文件中突出顯示自定義html標(biāo)記
79704:@example <caption>JSDoc 支持
79763:編輯:可以關(guān)閉所有編輯
79798:編輯器:未使用workbench.editor.revealIfOpen激活組:true
78046:SCM:支持為新文件暫存所選更改
79625:為“preLaunchTask”結(jié)構(gòu)提供代碼補(bǔ)全
想要獲得 Visual Studio 更多資源的伙伴,請點(diǎn)這里。
想要獲取 Visual Studio 正版授權(quán)的伙伴,
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: