翻譯|行業資訊|編輯:龔雪|2023-07-04 10:24:29.010|閱讀 109 次
概述:ReSharper既是VS插件,也是強大的插件創建平臺,本文將為大家介紹API驗證器為ReSharper帶來的一些改變!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
實質上,ReSharper特征可用于C#,VB.net,XML,Asp.net,XAML,和構建腳本。 使用ReSharper,你可以進行深度代碼分析,智能代碼協助,實時錯誤代碼高亮顯示,解決方案范圍內代碼分析,快速代碼更正,一步完成代碼格式化和清理,業界領先的自動代碼重構,高級的集成單元測試方案,和強大的解決方案內導航和搜索。
ReSharper既是插件,也是強大的插件創建平臺。 設計產品的各個方面時,ReSharper開發團隊采用了依賴項注入方法,這就使ReSharper的任何組件都像一個可使用插件重寫的構建塊,為微調ReSharper行為帶來無限可能。 既是VS插件,也是強大的插件創建平臺,本文將為大家介紹API驗證器為ReSharper帶來的一些改變!
“每個公共組件都是一個擴展點”的策略限制了重構現有代碼的能力,為進程外模式準備ReSharper或為集成到Fleet準備的代碼庫等大規模重構也因此變得更為困難。 多年來,官方一直表示ReSharper的每個新版本都與已安裝的插件不兼容,即使它們引用的API集在技術上沒有發生變化,由于內部重構,無法保證無縫遷移。
ReSharper和Rider每年都會發布三個主要版本,因此直到最近,插件開發者每年都要被迫重新編譯插件至少三次。
因此,官方開始考慮讓ReSharper的平臺自動檢測其插件引用的API中的變化。
在ReSharper中,我們將每個插件都視為產品的重要組成部分,所有部件在安裝期間組合。 在這個階段,可以檢測插件使用的API是否被更改或在最新版本的ReSharper中不再可用。
如果 API 驗證器發出危險信號,該插件將被標記為 Incompatible(不兼容),不會添加到安裝的產品中。 但是它將保留在 ReSharper 內 Extension manager(擴展程序管理器)中的已安裝插件列表中。
通過API驗證的插件將自動遷移到產品的下一個版本,ReSharper 2023.1實際上是第二個包含API驗證器的版本,因此在 2023.1版本之前兼容的所有插件都將被保留。
引入API驗證器的同時,官方還更改了指定與產品版本兼容性相關的依賴項的要求,這需要講一些背景。
在內部,官方把主要版本稱為“wave”,命名wave時,取發布年份的最后兩位數字,再加上一位數字表示該年的版本編號。 例如,對于2023年的第一個主要版本,wave名為“wave 231”,2022年的第三個版本是“wave 223”。
在插件中將wave名稱指定為依賴項有兩種好處,第一它將幫助我們驗證軟件包確實是ReSharper的擴展程序;第二指定兼容wave的范圍讓您可以指示哪些版本的產品與插件兼容。
過去建議為此使用區間表示法,例如如果您將區間表示法的范圍指定為 [223-231),則表示插件僅與 2022.3 版本兼容。 但是引入API驗證器后,現在建議不使用區間表示法指定 wave,您可以將 231 指定為 wave 依賴項來聲明向前兼容性,如下所示:
<dependencies> <dependency id="Wave" version="231.0.0"/> </dependencies>
在安裝期間執行的API驗證器代碼也在 JetBrains Marketplace 中實現,這對插件開發者來說是個好消息,因為當 SDK 中不再出現所用 API 時,插件的頁面現在會顯示詳細警告。 在每個搶先體驗預覽或主要版本公開之前,會在所有可用插件上執行 API 驗證。
插件開發者還可以選擇在插件未通過驗證流程時選擇接收電子郵件通知,這些電子郵件詳細說明了哪些 API 已過時、被移除、更改或更新,幫助您將無法編譯的部分歸零,無需打開包含插件代碼的項目。
Jetbrains技術交流群(QQ):786598704 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網