Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
載說明:原創不易,未經授權,謝絕任何形式的轉載
大多數開發者都在不斷尋找讓開發工作更輕松的方法,我也是如此。合適的工具可以幫助你實現這一目標。
在本文中,我們將探討我個人使用的八個擴展,以優化我的編碼體驗。讓我們來看看這些擴展的列表,親自體驗它們如何改善你的編碼體驗。
我們改變了我們的工具,然后我們的工具改變了我們 — 杰夫·貝佐斯
我最喜歡的擴展列表中最新的一款是GitHub Copilot擴展。GitHub Copilot是你的人工智能編碼伴侶,可以實時提供代碼建議。
這個擴展真的讓編碼變得輕松。盡管它是一個相對較新的擴展,但已經有超過800萬的安裝量。這個擴展不僅可以提升你的編碼體驗,還能顯著提高你的工作效率。我強烈推薦你試用一下這個擴展,看看它如何改善你的編碼體驗。
注:你可以開始使用GitHub Copilot的免費試用,但最終你會需要訂閱。
每個開發者都曾經在自己的代碼中忘記了一個待辦注釋。很有可能你甚至將帶有待辦注釋的代碼發布到了生產環境中。
這就是為什么你需要TODO Highlight擴展。這個擴展會突出顯示你的待辦事項注釋,并提醒你還有未完成的筆記或事項。
該擴展程序帶有內置的關鍵詞 TODO: 和 FIXME: ,但您可以添加自己的關鍵詞并更改它們的外觀。
這個擴展程序已經安裝了超過350萬次,相當受歡迎。看來不只有我一個人忘記了自己的待辦評論...
說到編碼,魔鬼常常隱藏在細節中,即使是像編寫文件路徑這樣的小任務也可能變得繁瑣且容易出錯。這就是 Path Intellisense 擴展的用武之地。該擴展使得查找正確的文件路徑變得輕而易舉,因為它為文件名添加了自動完成功能。在您輸入時,它會為文件和文件夾提供建議,節省您的時間并避免錯誤。
GitLens擴展不能被忽視。如果你想找出是誰修改了一行代碼或者一段代碼塊,以及為什么修改,它非常有用。
我個人覺得這非常方便,如果我想知道為什么添加或刪除了某行代碼。通過查看歷史記錄,我可以追溯到最初的用戶故事。
這個擴展的最大優點就是你永遠不需要離開你的編輯器。它讓你能夠保持專注,每多花一秒鐘在上下文切換或缺失上下文上都會打斷你的思路,而這對你的生產力至關重要。
擁有超過2500萬次安裝,這是您在Visual Studio Code中進行Git版本控制的首選擴展。
統一格式化代碼是一個挑戰,但使用正確的工具可以自動保持代碼庫的一致性。這就是Prettier擴展的作用所在。
Prettier是一款有主見的代碼格式化工具,根據一致的風格自動對您的代碼進行格式化,提高代碼的可讀性。您的代碼將會被格式化,包括空格、換行和引號的一致性。甚至可以在每次保存代碼時自動運行Prettier。
這個擴展程序已經安裝了超過3500萬次,毫無疑問是一個明智的選擇。
REST客戶端擴展允許您直接在Visual Studio Code中發送HTTP請求并查看響應。這樣就不再需要使用外部應用程序來向服務器發送HTTP請求了。
語法非常簡潔:只需一行代碼,使用GET關鍵字后跟URL即可完成簡單的GET請求。如果您想發送更復雜的請求,有很多選項可供您使用,以滿足您的需求。您可以添加身份驗證標頭,或者如果需要,發送包含JSON數據的完整POST請求。
這個擴展已經安裝了超過350萬次,如果你需要從API獲取數據,它是必備的。
Auto Rename Tag擴展的功能很簡單,但卻讓編寫HTML變得輕松。該擴展會自動重命名配對的HTML標簽。如果你重命名了一個開標簽,它會相應地更改對應的閉標簽。反之亦然。
我將這個擴展與自動關閉標簽擴展一起使用。當在開標簽的閉合括號中鍵入時,該擴展會自動添加閉合標簽。安裝這兩個擴展非常強大,可以幫助您以更高效和一致的方式編寫HTML。它還可以減少HTML出錯的可能性。
這兩個擴展合起來有接近2500萬的安裝量,這使得這些擴展備受網頁開發者喜愛。
你是否曾經發現自己在尋找某個文件時感到困惑,明明確定應該在那里,卻找不到?很可能是你看錯了項目。這種情況發生在我們中的佼佼者身上也是很正常的。
你可以使用Peacock擴展來解決這個問題,它允許你改變工作區的顏色。這有助于你快速識別你正在工作的項目。如果你經常同時處理多個項目,這將非常方便。
一個非常簡單的擴展,但是擁有接近250萬的安裝量,你不應該低估它的能力。
由于文章內容篇幅有限,今天的內容就分享到這里,文章結尾,我想提醒您,文章的創作不易,如果您喜歡我的分享,請別忘了點贊和轉發,讓更多有需要的人看到。同時,如果您想獲取更多前端技術的知識,歡迎關注我,您的支持將是我分享最大的動力。我會持續輸出更多內容,敬請期待。
為網絡內容編審人員,熟知在日常職業中從HTML頁抽取信息的必要性。面對此需求,本文將詳細講解一種可供免費使用的HTML網頁內容獲取工具,助您更輕松快捷地從中獲取所需信息。現在,讓我們共同揭開此工具使用之細節及其獨特性能。
1.工具介紹
此款HTML網頁內容提取軟件,專為非技術工作者量身打造,主要協助用戶快捷準確地自網頁提取必要訊息。無須繁瑣編碼,僅需簡易操作便能實現數據采集。其界面清晰明了,使用便捷,適合任何行業進行信息整理工作。
此工具有自定義檢索規則功能,允許使用者依據實際需求來編制有效的提取策略,以適應各種網頁布局的數據提取要求。同時,它為廣大用戶配備了豐富的導出格式選項,如Excel、CSV等等常用格式,便于大家對獲取到的數據進行深度處理及解讀。
此外,這款工具亦擁有卓越的數據清洗性能,使用者可設定相應的過濾標準,以高效清除并精確篩選所得數據。
2.使用方法
只需簡單操作,便可利用我們的HTML內容提取工具。首先將目標頁面的URL復制至相應位置,再單擊“啟動提取”選項即可。接下來,系統將會自動識別網頁布局,并為您呈現預覽數據。
在確保預覽信息準確無誤的情況下,您可根據需求設定合適的數據抽取規則。設定完畢后,再度點擊"啟動提取得以執行數據抽取操作。
3.功能特點
-定制化規則設定:允許客戶依據特定需求調整數據獲取規則,以適用于多樣化的網站結構。
支持多類型導出格式(如Excel與CSV),便于用戶進行后期處理及分析。
-靈活數據處理:配備高效的數據清洗模塊,協助用戶便捷地進行數據篩選。
-快捷高效:易于操作且迅速無誤地執行數據提取工作。
-免費獲取:該產品為免費版,用戶可直接體驗并利用其豐富的功能。
4.應用場景
此 HTML 網頁內容提取神器通用性強,適用于各個領域的工作者。具體表現在以下幾個方面:在市場調研過程中,可用于收集競品動態;在輿情監控環節,可以獲取輿論熱點;同時,也能應用于學術研究,幫助學者們獲取所需的文獻資料數據等。
無論您在市場營銷、輿情監控、科研或其他行業,此實用工具都能助您輕松獲取所需資訊,提高工作效能。
5.總結與展望
通過上述介紹,我們已充分理解這款免費HTML網頁內容提取工具的基礎概況、操作方式及特性優勢。其精準高效地協助用戶從繁雜的HTML網頁中迅速獲取所需信息。
在資訊繁多的時代,數據處理和應用將更顯關鍵。我們期待HTML網頁內容提取工具可持續改進,在更多行業中發揮更大效能。
最后,請您在日常工作過程中有無遇到需從HTML網頁迅速獲取信息的需求?若此達成,您覺得這款免費HTML網頁內容分析工具將對您產生何種作用?
T之家 8 月 6 日消息 微軟今天宣布發布 Visual Studio Code 七月更新(v1.59),其中包括幾個新功能,包括 Live HTML Preview 擴展 w/JS 調試支持、測試運行程序的本地支持、跨窗口拖放終端的能力等等。
微軟中國 MSDN 表示,歡迎使用 2021 年 7 月版的 Visual Studio Code。我們希望您會喜歡此版本中的許多更新與改進,以下是其中的一些亮點:
* 擴展視圖的改進 - 豐富的擴展詳細信息懸停,新的運行狀態標簽頁。
* 設置編輯器驗證 - 快速查找到對象設置的編輯錯誤。
* 拖放終端 - 將終端跨窗口移動到編輯器和面板區域。
* 擴展的主題定制 - 一次定制多個顏色主題。
* Jupyter 筆記本的內建支持 - 直接在 VS Code 中打開 .ipynb 文件。
* 筆記本 UI 的改進 - 顯示折疊單元格的第一行,每個單元格的撤消/重做。
* 測試 API 的最終確定 - 原生支持 VS Code 中使用測試資源管理器運行測試。
* 調試反匯編視圖預覽 - 在 VS Code 中顯示反匯編的 C++ 代碼。
* 實時預覽擴展 - VS Code 中的實時的 HTML 預覽,支持 JavaScript 調試。
* 遠程 - 容器 devcontainer CLI - 用于開發容器的命令行界面。
如果您想在線閱讀這些發行說明,請訪問 code.visualstudio.com 上的更新。
更多關于 VS Code 的資料請訪問微軟 MS Learn 平臺:http://aka.ms/vscodelearn
內部搶先版:想更先一步體驗新功能嗎?您可以下載每晚的 Insiders 版本,并在最新更新可用時立即試用。
code.visualstudio.com:
https://code.visualstudio.com/
更新:
https://code.visualstudio.com/updates/v1_58
http://aka.ms/vscodelearn:
https://docs.microsoft.com/zh-cn/users/nathanxue/collections/3jxsyzg0epdj3?WT.mc_id=VSCode_457601
Insiders:
https://code.visualstudio.com/insiders/
擴展插件:
改進了調整大小后的擴展視圖。在下面的動圖中,你可以看到默認寬度的擴展視圖顯示了所有詳細信息(以前未顯示圖標、評分和安裝計數)。當它縮小時,會顯示較小的擴展圖標,當其寬度進一步減小時,圖標和評分將被隱藏。
主題:GitHub Light
擴展視圖現在會顯示自定義懸停信息。這個豐富的懸停包括擴展的完整描述和其他有用的信息,例如為什么禁用或推薦擴展。
主題:GitHub Light
您現在可以在插件面板中看到更多的插件運行狀態,例如其激活時間、是否在啟動時激活,以及擴展編輯器中新引入的 運行時狀態 選項卡中是否生成了任何警告或錯誤。當然,你也可以懸停在插件試圖上看到部分的運行狀態信息。
主題:GitHub Light
插件面板的詳細信息標簽頁現在會顯示分類信息,資源鏈接,和諸如插件發布時間和更新時間的其他信息。選擇某個分類會顯示當前分類下的所有插件。
主題:GitHub Light
GitHub Light:
https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme
設置編輯器:
設置編輯器現在支持對象驗證功能。驗證會涵蓋直接編輯 JSON 文件時可能引入的類型錯誤。
非編輯模式下,數組設置現在具有了拖放功能的支持。
此外,將 uniqueItems 屬性設置為 true 的枚舉數組設置現在僅顯示剩余選項,而不是下拉列表中的所有選項。
設置編輯器現在還支持多行字符串設置,其中值呈現在多行文本區域而不是單行輸入框中:
擴展的主題自定義語法:
顏色自定義設置允許用戶自定義當前主題的顏色:
workbench.colorCustomizations
editor.tokenColorCustomizations
editor.semanticTokenColorCustomizations
以下語法可以用來一次自定義多個主題的顏色:
您可以列出多個主題,或者,在名稱的開頭或者結尾使用 * 通配符來選取多個主題。
Jupyter 筆記本文件的支持:
本月,我們把支援 *.ipynb 文件的代碼從 Jupyter 筆記本 插件吸收為了內建插件。這意味著你現在可以在一個全新安裝的 VS Code 環境中得到 Jupyter 筆記本的原生支持。你甚至都不用安裝 Jupyter 的插件。需要注意的是,如果你想要執行 ipywidgets 或者其他復雜渲染類型的代碼單元或者查看運行結果時,你依然需要完整安裝 Jupyter 插件。
Jupyter 筆記本:
https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
筆記本布局的改進:
我們在本次迭代中對筆記本布局進行了一些改進:
我們現在將會在折疊時渲染代碼單元的第一行。
當窗口寬度不足以呈現所有主要操作時,筆記本編輯器工具欄上的操作將移至溢出區。
notebook.undoRedoPerCell 的默認值現在更改為 true。
我們還更新了代碼單元格的默認樣式,顯示背景顏色以幫助區分單元格。主題可以使用 notebook.cellEditorBackground 來自定義這個顏色。
最后,您現在可以使用 notebook.globalToolbarShowLabel 設置在筆記本工具欄上切換文本標簽:
“復制相對路徑”配置路徑分隔符:
在調用“復制相關路徑”操作時,新設置 explorer.copyRelativePathSeparator 允許顯式設置使用路徑分隔符。以下為可用選項:
Auto(默認) - 使用操作系統特定的路徑分隔符
/- 使用斜線作為路徑分隔符
\ - 使用反斜杠作為路徑分隔符
跨編輯器組共享視圖狀態:
添加了一個新設置 workbench.editor.sharedViewState 以配置編輯器視圖狀態(例如,編輯器中的滾動位置)在編輯器組之間共享的方式。
默認情況下,此設置被禁用以保留當前設置。如果您在靠邊打開編輯器并稍后關閉該編輯器組,只是為了再次打開編輯器到靠邊,則不會恢復視圖狀態,因為您正在打開一個新的編輯器組。但是,當您啟用此設置時,除非為編輯器組找到更具體的視圖狀態,否則將在所有編輯器組中保留并使用最新的編輯器視圖狀態。
在不同的折疊范圍之間切換:
以下的新指令可以將光標位置設置為相應的折疊:
轉到下一個折疊 (editor.gotoNextFold)
轉到上一個折疊 (editor.gotoPreviousFold)
轉到父級折疊 (editor.gotoParentFold)
這些命令目前沒有默認鍵綁定,但是你可以通過以下方法添加自己的鍵盤快捷鍵:
** 首選項:打開鍵盤快捷鍵 ** (kb (workbench.action.openGlobalKeybindings))
自動折疊 Import 語句:
通過設置 editor.foldingImportsByDefault 來自動折疊 Import 語句。
當文件被打開后,折疊的狀態將會被保存。
TypeScript,JavaScript,Java,C#,C++ 和其他具備折疊范圍提供程序的編程語言都支持這項新功能。注:折疊范圍提供程序特指將 Import 語句標注為 FoldingRangeKind.Imports 的提供程序。
選擇項的種子搜索字符串:
Find Widget 設置 editor.find.seedSearchStringFromSelection 已支持從非空選擇中播種搜索字符串。默認情況下,當顯示小部件時,編輯器將使用以下兩項作為搜索關鍵詞:1. 選擇項。2. 空選擇周圍的單詞。
內聯建議的改進:
我們改變了內聯建議的呈現方式。這不僅修復了許多錯誤,而且還使自動換行識別了內聯建議。
此外,現在支持了非尾隨位置的多行內聯建議。
嵌入提示的改進:
我們還改變了嵌入提示的呈現方式。通過使用與內聯建議相同的機制,嵌入提示現在也被用于自動換行。
這種機制還實現了嵌入提示周圍的單獨光標停靠。
在窗口之間拖拽終端:
現在,您可以任意地從標簽頁或一個窗口的編輯區域,拖拽終端到標簽頁,編輯區域,或者另一個窗口的面板。
子進程跟蹤和關閉警告:
當用戶嘗試關閉一個有子進程的終端時,terminal.integrated.confirmOnExit 和新的設置 terminal.integrated.confirmOnKill 會警告用戶。默認情況下,這僅影響編輯器區域中的終端,但用戶可以配置為顯示所有的(面板區域中)終端警告。
設置所提供的終端配置文件為默認:
現在用戶可以將插件所提供的終端配置文件設為默認的配置文件。
下劃線和刪除線支持:
終端現在支持下劃線和刪除線屬性。例如,用可以可以配置 git 來使用這些新屬性:
主題: Sapphire
上述的例子使用了下列 .gitconfig 參數:
配置 git:
https://git-scm.com/docs/git-config#Documentation/git-config.txt-color
Sapphire:
https://marketplace.visualstudio.com/items?itemName=Tyriar.theme-sapphire
編輯區域靠邊創建終端:
現在,用戶可以在活動編輯區域使用新指令 workbench.action.createTerminalEditorSide 來創建一個靠邊新的終端。
活動終端標簽頁指示器:
主題現在可以使用主題鍵 terminal.tab.activeBorder 設置垂直線的顏色,用以指示活動的終端選項卡。
如果沒有設置 terminal.tab.activeBorder,顏色將回退到 tab.activeBorder。
禁用終端標簽頁動畫圖標:
terminal.integrated.tabs.enableAnimation 會禁用終端標簽頁動畫圖標。如果是針對任務而不是微調器,播放按鈕會被使用:
改進了編輯器標題區域內的 播放/調試 按鍵:
在 2 月的版本中,我們引入了一個下拉按鈕,用以在編輯器標題區域的中央(緊湊)位置對運行和調試命令進行分組。根據一些用戶反饋,我們嘗試通過記憶上次執行的操作來改進下拉按鈕。下拉按鈕現在將會擁有兩個單擊區域,一個用于默認動作(左),另一個用于下拉(右),其中,所選運行操作將被記憶并存為新的默認值。
請注意:
如果只有一個運行或調試操作,則會省略下拉菜單。
如果有多個運行或調試操作,所有操作都會出現在下拉菜單中,并且默認操作設置為下拉菜單中的第一個操作(前提是沒有記住的操作)。
VS Code 重新啟動時,會為特定工作區保留默認操作;它不會為編輯器內容保留。
2 月的版本:
https://code.visualstudio.com/updates/v1_54#_limits-for-editor-title-menu-and-run-submenu
實時預覽:
實時預覽擴展插件本月出現了一些令人興奮的新功能!這包括:
內建 JavaScript 調試器兼容性的外部預覽。
請使用 `Live Preview: Show Debug Preview` 來嘗鮮使用!
對嵌入式瀏覽器的改進,例如“在頁面中查找”的支持和快速訪問 `webvivew` DevTools。
文件系統監視自動生成文件。
期待更多!
要查看有關本月進度的更多詳細信息,請參閱擴展的發行說明。
主題:GitHub Dark
實時預覽擴展插件:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.live-server
發行說明:
https://github.com/microsoft/vscode-livepreview/blob/main/release_notes/july-2021.md
GitHub Dark:
https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme
GitHub 拉取請求和問題:
GitHub 拉取請求和問題 擴展插件的工作仍在繼續,它允許您響應、創建和管理拉取請求和問題。本月重點:
對問題的“開始工作”進行了擴展,讓您可以處理當前打開的存儲庫之外的問題。
要了解所有新功能和更新,您可以查看 0.29.0 版擴展的完整變更日志。
GitHub 拉取請求和問題:
https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github
0.29.0 版擴展的完整變更日志:
https://github.com/microsoft/vscode-pull-request-github/blob/main/CHANGELOG.md#0290
Jupyter:
Jupyter 擴展插件的工作仍在繼續。要了解所有的新功能和更新,您可以查看 7 月版本的完整更新日志。
Jupyter:
https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
7 月版本的完整更新日志:
https://github.com/microsoft/vscode-jupyter/blob/main/CHANGELOG.md#202189-3-august-2021
互動窗口:
Jupyter 交互窗口提供了另一種構建和使用 Jupyter 筆記本的方法,使用文本文件而不是筆記本界面。上個月,我們預覽了 Jupyter 交互式窗口的升級版本,現在我們提供了具有更深入的工作臺集成,包括對主題的支持、自定義鍵綁定、片段、與擴展的兼容性等!非常感謝我們的用戶通過 GitHub 問題提供有關預覽體驗版的反饋。內置交互窗口現在已經成為了 1.59 版本中的默認界面。之前的界面在 "jupyter.enableNativeInteractiveWindow": false 后將仍然可用,并會在即將發布的版本中刪除。我們期待您的反饋!
您的反饋:
https://github.com/microsoft/vscode-jupyter/issues
逐行運行:
我們一直致力于支持 Jupyter 筆記本中的“逐行運行”功能。此功能本質上是一種簡化的調試模式,可讓您逐行執行單元代碼,而無需任何復雜的調試 UI。這依然是實驗性的,您可以通過設置 "jupyter.experimental.debugging": true,在您選擇的內核中安裝 ipykernel 的第 6 版,然后選擇單元格工具欄中的“按行運行”按鈕來嘗鮮一下。
遠程容器 devcontainer CLI:
遠程 - 容器 擴展適用于在 VS Code 中使用 Docker 容器。它現在包含 devcontainer 命令行界面,讓您可以輕松地打開容器中的文件夾 (devcontainer open) 或者構建開發容器映像 (devcontainer build)。
您可以在 遠程開發 發行說明中了解新的功能和錯誤修復。
遠程 - 容器:
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers
遠程開發:
https://github.com/microsoft/vscode-docs/blob/main/remote-release-notes/v1_59.md
無標題文件的自動語言檢測:
我們很高興地宣布無標題文件的自動語言檢測的初始預覽版,它使用機器學習來檢測您正在編碼的語言并自動設置無標題文件的語言模式。此功能利用了開源 ML 庫 Tensorflow.js 和 GitHub 用戶 @yoeo 來自 Guesslang 的 ML 模型。
在此版本中,該功能將默認關閉,但我們計劃將其設為下一次迭代版本的默認設置。如果您想要啟用它,請應用以下設置:
```json "workbench.editor.untitled.experimentalLanguageDetection": true ``` "workbench.editor.untitled.experimentalLanguageDetection": true
舉個例子,您可以打開一個無標題文件并將一段代碼粘貼到您的編輯器中。
以下是一段自動識別的 Python 代碼段:
主題:Panda
此外,您可以通過打開語言選擇器查看正在檢測的語言。
主題:Panda
注意:如果語言檢測結果不夠確信,那么您將保持當前的語言模式,語言選擇器中不會顯示任何結果,直到語言檢測結果更有把握。
該設置還允許您提供語言覆蓋,可用于指定您不想自動關閉的語言模式。
以下的例子展示了如何關閉 .md 文件自動檢測:
在您編輯無標題的 Markdown 文件時,自動語言檢測功能 * 不會 * 運行。但是,如果您正在修改任何其他類型的無標題文件,自動語言檢測功能 * 將 * 會檢測這些文件的內容。
我們已經將與 ML 模型交互的代碼分離并合并到它自己的代碼庫中,作為 npm 包發布,該包存在于 vscode-languagedetection 存儲庫中。
請讓我們知道無標題文件的自動語言檢測功能是否幫助到了您的日常工作!
Tensorflow.js:
https://www.tensorflow.org/js/
@yoeo:
https://github.com/yoeo
Guesslang:
https://github.com/yoeo/guesslang
Panda:
https://marketplace.visualstudio.com/items?itemName=tinkertrain.theme-panda
vscode-languagedetection:
https://github.com/Microsoft/vscode-languagedetection
TypeScript 4.4:
此版本包括對 TypeScript 4.4 版本的支持。您可以在 TypeScript 博客上閱讀有關 TypeScript 4.4 中新語言功能和改進的更多信息。一些工具亮點:
在 JavaScript 和 TypeScript 文件中嵌入參數名稱和類型的提示。
純 JS 文件中的基本拼寫建議。只有當我們對錯誤和修復有把握時才會顯示這些。
要開始使用 TypeScript 4.4 內測版本,請安裝 TypeScript Nightly 擴展。
如果您在使用 TypeScript 4.4 時遇到任何錯誤,請分享您的反饋并告訴我們。
TypeScript 博客:
https://devblogs.microsoft.com/typescript/announcing-typescript-4-4-beta/
TypeScript Nightly 擴展:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-next
反匯編試圖:
感謝微軟 C++ 團隊貢獻的大量代碼,我們很高興在這個里程碑版本中包括了 ** 反匯編視圖 ** 的預覽功能。
反匯編視圖可以從編輯器的上下文菜單中打開,用以顯示活動堆棧幀的反匯編源碼,它支持單步執行匯編指令,并且可以在單個指令上設置斷點。
反匯編視圖僅在活動的調試會話中可用。注意,底層調試擴展插件也需要有相應的支持。
目前,只有 C++ 和 Mock Debug 可以支持反匯編視圖。
從技術角度而言,VS Code 的反匯編視圖實現了 DAP (Debug Adapter Protocol) 協議另外四個功能:
disassembly 請求,用以提供基于內存位置的反匯編源碼。
堆棧幀上的 instructionPointerReference 屬性。
步進請求的 granularity 屬性。
指令斷點和 setInstructionBreakpoints 請求。
貢獻的大量代碼:
https://github.com/microsoft/vscode/pull/125737
C++:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
Mock Debug:
https://marketplace.visualstudio.com/items?itemName=andreweinand.mock-debug
測試 API:
去年秋天,我們開始在 VS Code 中添加對運行測試的原生支持,本月,第一組與測試相關的 API 已經交付。與之前的擴展插件相比,這些 API 提供了更大的靈活性、更好的性能和更豐富的用戶體驗。查看有關編寫測試擴展的指南以深入了解。
主題:
測試資源管理器 UI 插件的現有用戶可以通過將 testExplorer.useNativeTesting 設置為 true 來獲得原生體驗。但是,該轉換是基于測試資源管理器 UI 擴展現有 API,因此不包括諸如豐富差異之類的一些功能。
Java 擴展包中包含的 Microsoft Java 測試運行器是最早采用測試 API 的擴展之一 。
編寫測試擴展的指南:
https://code.visualstudio.com/api/extension-guides/testing
測試資源管理器 UI:
https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer
Java 擴展包:
https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack
Microsoft Java 測試運行器:
https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-test
新建文件菜單的貢獻點:
有助于創建新文件編輯器的擴展(例如筆記本或自定義編輯器)現在可以向新的 文件/新文件 菜單貢獻點貢獻命令。可以從歡迎頁面或文件菜單中的“新建文件...”項目訪問此菜單。
豐富狀態欄懸停:
狀態欄項目現在支持豐富的懸停,包括鏈接和圖標 StatusBarItem.tooltip: string | IMarkdownString
* If `MarkdownString.supportThemeIcons` is true, you can use icons with the `$(iconName)` syntax.
* If the `MarkdownString` is trusted, you can also add command links. Syntax: `([test](command:vscode.newWindow))`
如果 MarkdownString.supportThemeIcons 設置為 true,您可以使用帶有 $(iconName) 語法的圖標
如果 MarkdownString 受信任,還可以添加命令鏈接。語法:([test](command:vscode.newWindow))
狀態欄警告顏色:
表示警告的狀態欄項目可以使用新添加的顏色 statusBarItem.warningBackground 和 statusBarItem.warningForeground。
沒有 additionalProperties 的對象設置:
對象設置必須將 additionalProperties 設置為 false,以便在設置編輯器中支持對象。否則,設置編輯器會解讀為復雜設置(不規律的設置),并將用戶定向到設置 JSON 文件。
多行字符串設置:
要在設置編輯器中添加多行字符串設置的支持,請將 "editPresentation": "multilineText" 作為鍵值配對添加到字符串設置中。將字符串設置更改為多行設置將導致設置編輯器在多行文本區域(而非單行輸入框中)呈現設置值。
更新的 Codicons:
我們已經添加了下列新圖標到 codicon 庫中:
azure
compass-active
compass-active
compass-dot
compass
debug-all
debug-coverage
git-pull-request-closed
git-pull-request-draft
issue-draft
layers-active
layers-dot
layers
codicon:
https://code.visualstudio.com/api/references/icons-in-labels
文本文檔更改原因:
當事件 workspace.onDidChangeTextDocument 被觸發時,事件對象的新屬性 reason 會告知用戶文本更改的原因是撤消或重做操作。
語言服務器協議:
語言服務器協議的下一個新版本以及對應的 npm 模塊已經發布。3.17 版本包含了一個關于完成項標簽詳細信息的新提案,該提案符合 VS Code 本身的最新變化。
語言服務器協議:
https://microsoft.github.io/language-server-protocol/
3.17 版本:
https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/
最終確定“writeMemory”請求和“memory”事件提案:
writeMemory 請求已經完成,現在可以在 Debug Adapter Protocol 的 1.48 版和與之相對應的 npm 模塊中使用。如果調試適配器具有 supportsWriteMemoryRequest 功能,客戶端可以使用 writeMemory 請求將字節寫入給定位置的內存。
memory 事件有一個新的提案,將在下一個里程碑中添加到 DAP。
Debug Adapter Protocol:
https://microsoft.github.io/debug-adapter-protocol/
新的提案:
https://github.com/microsoft/debug-adapter-protocol/issues/194#issuecomment-886687894
每個里程碑版本都附有新提議的 API,擴展插件的作者們可以試用它們。我們期待您的反饋。如果您想要嘗鮮提議的新 API,請完成以下步驟:
您必須使用 Insiders 版本,因為提議的 API 經常被修改
你必須在你的擴展的 package.json 文件中加入這一行:"enableProposedApi": true
將最新版本的 vscode.proposed.d.ts 文件復制到項目的源位置
您將不能使用建議 API 發布擴展插件。因為新的版本可能會有重大變化,我們需要保證現有的擴展插件可以被繼續使用。
vscode.proposed.d.ts:
https://github.com/microsoft/vscode/blob/main/src/vs/vscode.proposed.d.ts
isDefault 用于 TaskGroup:
group 屬性存在于 tasks.json 文件中定義的任務上,也通過任務 API 公開。group 屬性有一個 isDefault 屬性,該屬性直到現在在 API 中都不可用。該提案將 isDefault 屬性公開為 TaskGroup 上的只讀屬性,以便擴展可以讀取哪個任務是組的默認任務,但不能通過為組設置默認值來覆蓋用戶配置。
用于 AuthenticationGetSessionOptions 的 forceRecreate
到目前為止,用于獲取身份驗證會話對象的 getSession API 從來沒有能力要求用戶需要再次登錄。然而這對于使用 SAML/單點登錄 (SSO) 體驗的 GitHub 等身份驗證服務是必需的,其中訪問令牌最終會在 SSO 會話到期時失去對資源的訪問權限。該提案為 AuthenticationGetSessionOptions 添加了另一個名為 forceRecreate 的屬性,允許您要求用戶再次登錄。向用戶顯示類似于您指定 createIfNone 時顯示的模式體驗。
基于 iframe 的 webviews 現在在桌面上隨處可見:
本月我們完成了從 Electron 的 webview 標簽元素過渡到基于普通 <iframe> 元素的 webview 。這更好地協調了 VS Code 的 webviews 跨桌面和 web 的實現,也讓我們刪除了很多現在冗余的代碼。
Electron 的 webview 標簽:
https://www.electronjs.org/docs/api/webview-tag
Electron 13 更新:
在這個里程碑版本中,我們完成了將 Electron 13 捆綁到 VS Code 的實驗,這要感謝所有參與 Insiders 測試和自托管的參與者。這是 Chromium 91.0.4472.124 附帶的主要 Electron 版本。此版本的 Node.js 版本沒有變化,它仍然是 v14.16.0。
Electron 沙盒支持的進展:
隨著我們準備讓 VS Code 工作臺啟用 Electron 的沙盒功能,我們希望在 linux 上啟用混合沙盒模式,且不在分布式軟件包 deb、rpm、snap、tar 存檔中捆綁 cli 參數 --no-sandbox。Chromium 在 linux 上有一個多層沙盒模型。如果 Chromium 無法將命名空間沙盒用于第 1 層,它將嘗試通過幫助程序 chrome-sandbox 來使用 setuid 沙盒。要使 setuid 二進制文件工作,它需要滿足以下條件:
沙箱二進制文件必須可由 Chromium 進程執行
它必須是 SUID 并且可以被其他人執行
我們能夠為 deb 和 rpm 包保留這些條件。目前無法獲得 snap 的這些權限,我們有以下跟蹤問題 https://github.com/microsoft/vscode/issues/127140。
至于其他使用 tar 存檔的應用程序,如果應用程序無法使用命名空間沙盒(這在容器內運行時可能會發生)它將失敗并顯示以下錯誤
FATAL:setuid_sandbox_host.cc (158)] 找到了 SUID 沙盒助手二進制文件,但沒有正確配置。而不是在沒有沙盒的情況下運行,我現在正在中止程序。您需要確保 chrome-sandbox 由 root 用戶擁有并且模式為 4755。
如果發生這種情況,您可以使用以下兩個選項之一來使其正常工作:
修復 setuid helper 權限問題
使用 --no-sandbox 標志運行
沙盒:
https://www.electronjs.org/docs/tutorial/sandbox
linux 上有一個多層沙盒模型:
https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux/sandboxing.md
setuid 沙盒:
https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux/suid_sandbox.md
煙霧測試的一些改進:
我們一直為每個構建版本運行一套完整的煙霧測試。我們測試打開 VSCode(桌面和 Web)并執行一堆 UI 元素以確保正確的功能。這個里程碑版本中我們在這個基礎上投入了更多資源,從而使我們能夠從最終計劃中移除手動的煙霧測試。
煙霧測試現在可以在所有平臺(macOS、Linux 和 Windows)上運行。最重要的是,我們已經實現在每次代碼提交時自動運行煙霧測試,從而我們可以及時地發現 VS Code 新版本可能引入的軟件錯誤。
最后,感謝我們用于自動化 Web 冒煙測試的 Playwright 庫,我們采用了他們的跟蹤工具,這使得我們可以查看并且重復運行失敗的煙霧測試。
Playwright:
https://github.com/microsoft/playwright
跟蹤工具:
https://playwright.dev/docs/next/trace-viewer/
學習資料
http://aka.ms/vscodelearn
http://aka.ms/vscodelearn:
https://docs.microsoft.com/zh-cn/users/nathanxue/collections/3jxsyzg0epdj3?WT.mc_id=VSCode_457601
重大修復
[26425](https://github.com/microsoft/vscode/issues/26425):沒有更改時不應顯示“打開更改”按鈕
[100815](https://github.com/microsoft/vscode/issues/100815):外部終端在連接到遠程 WSL 時中斷
[106981](https://github.com/microsoft/vscode/issues/106981):當窗口縮放設置為 -1 時,終端光標重影
[127959](https://github.com/microsoft/vscode/issues/127959):調試程序暫停時將打開調試窗格
[129059](https://github.com/microsoft/vscode/issues/129059):設置編輯器中的對象小組件不呈現說明
[129070](https://github.com/microsoft/vscode/issues/129070):無法通過僅按“確定”按鈕更正下拉列表設置值
[129415](https://github.com/microsoft/vscode/issues/129415):無法在單一文件模式下運行用戶任務
*請認真填寫需求信息,我們會在24小時內與您取得聯系。