成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

IntelliJ IDEA 2023.2正式發布,新UI和Profiler轉正

開發 前端
IntelliJ IDEA遵守承諾,一直在提升Profiler的能力,提供有關應用程序性能的深入信息,并使性能問題更容易調查。它在第一個2023.2 EAP 1版本中,引入了編輯器內提示,它提供了一種簡單的方法來逐行解釋代碼的性能,并幫助我們更快地解決性能問題。

?正文

官方對此版本的新變化總結:IntelliJ IDEA 2023.2 引入 AI Assistant(AI助手),通過一組由 AI 提供支持的功能助力開發(比如:Open API公司,也就是Chat GPT)。 升級的 IntelliJ 分析器現在提供編輯器內提示,使分析進程更加直觀詳盡。 此版本還包括有助于簡化開發工作流的 GitLab 集成,以及其他多項值得關注的更新和改進。

在繼續了解新版本的新特性之前,筆者特先來同步下此版本解決的幾個筆者認為非常重要的bug。

??解決的重要Bug

這里重點“批評”下2023.1這個版本(之前版本沒有問題),由于它檢索上存在的問題,導致我險些出現線上P0故障▄█?█●

無法關聯到.class文件引用關系

說明:這里說的.class文件,是指沒有關聯到souce code的文件(可能是沒有Download Sources,也可能是真沒有源碼),即IDEA幫你反編譯出來的,上方會飄這一行東東的文件:

圖片圖片

眾所周知Java是強類型語言,該特點是Java能做大型企業級工程的核心優勢之一。通過這個特性,我們可以很方便的整理出各個類、方法、變量之間的引用關系甚至UML圖,進而做出決策和做出調整。

但是,IntelliJ IDEA的2023.1版本,在沒有源代碼的類文件中,會丟掉引用關系,導致檢索的時候出現缺失。這么一來對使用時影響非常之大,不僅效率打折扣,更重要的是對決策產生致命影響。具體可表現為:

  1. 比如接口,想知道它的實現有哪些。這時只能列出有source code的一些引用
  2. 比如Find Usages,只能找到這個類/方法/屬性被source code的一些引用

這種基礎功能,開發者本著對IntelliJ IDEA開發工具的絕對信任,一旦它給出的結果有遺漏,那是相當危險的一件事。因此,上面筆者提到的當時是什么場景導致差點出了大錯,相信你可自行腦補了吧。PS:為了驗證不是我本機環境的問題而確實是IDEA導致,我找了同事4臺電腦驗證。證實了2023.1版本的確存在此問題,方才石錘。好消息是,IntelliJ IDEA 2023.2版本此問題已被修復,親測無誤,可放心食用了

話說回來:也有升級到2023.1沒有出現此問題的,但據我抽樣發現出問題的概率很大,不容忽視

新UI左側邊欄剩一個無法挪到右邊

這個問題雖不是功能上的bug,但肯定是問題,一定程度上影響到了筆者的使用體驗。

JetBrains在2022年12月份的2022.3版本中首次推出新UI,對界面進行了徹底的改造,主打極簡風,改進整體的編碼體驗,為此筆者非常喜歡。新UI官方也是主推,點進官網就能感受到推廣力度:減少干擾,提高工作效率,保持專注。

圖片圖片

在2022.3和2023.1這兩個版本中,新UI一直是以Beta版本存在。終于,在這個版本就徹底的轉正了:去掉了Beta字樣

圖片圖片

新UI這一次IntelliJ IDEA的步子邁得還是有點大的,因此口碑兩極分化,畢竟并非所有開發者都喜歡這種極簡風格,若習已養成了用鼠標點擊工具欄的習慣,一下子確實很難適應過來。

這么重大的改變可能會導致不適,為此JetBrain當然也有考慮到,因此舊UI目前依舊是保留的。但不代表它會一直存在。官方對新舊UI給出的迭代時間計劃是:

  • 舊UI保留到什么時候?答:預計在2024年中發布的2024.2版本中徹底刪除掉舊UI
  • 新UI什么時候成為默認UI?答:預計2024年初發布的2024.1版本中將新UI作為缺省

還記得筆者在去年底(2022年12月份)吐槽新UI中的其中一個槽點嗎:左側工具欄無法全部挪到右側來(舊UI是可以的),還剩個...死活不讓挪了,這樣子搞得很不優雅:白白浪費了左側這部分空間

圖片圖片

“可能”我的建議被官方聽到了,這個版本給解決了:左側工具欄可全部挪到右邊

圖片圖片

移到右邊后,左邊就異常簡約看著舒服多了:更符合人體視覺工程學

圖片圖片

??what’s new(新特性)

現在我們瀏覽下此次版本的主要新特性。

Profiler集成進編輯器內

IntelliJ IDEA遵守承諾,一直在提升Profiler的能力,提供有關應用程序性能的深入信息,并使性能問題更容易調查。它在第一個2023.2 EAP 1版本中,引入了編輯器內提示,它提供了一種簡單的方法來逐行解釋代碼的性能,并幫助我們更快地解決性能問題。編輯器裝訂區域中的顏色編碼注解可以高亮顯示關鍵方法,讓您專注于性能瓶頸。因此,不再需要使用 Flame Graph(火焰圖)和 Call Tree(調用樹)視圖執行徹底、耗時的分析。

Profiler功能在IntelliJ IDEA 2020.1就引入了,當時作為一個實驗功能。但是Jetbrain它承諾了會在后面的版本中逐步迭代它。

  • 2020.1/2版本:我們需要手動的導入一個xxx.hprof文件供給它分析
  • 2020.3版本:和IDE更深入集成,除了更便捷的打開xxx.hprof文件外,還可直接分析正在運行的程序
  • 2022.2版本:此功能從實驗性走到發布,正式畢業,已值得信賴,可以用來做性能分析用。表現更穩定、參數更詳細,并且還支持了Kotlin和Scala語言
  • 2023.2版本:集成進編輯器內,和代碼可做到一一對應。可不再依賴于??火焰圖、樹狀圖那些,更加直觀高效
效果演示

代碼準備:

@RequestMapping("/demo")
@RestController
public class DemoController {

    @Autowired
    private DemoService demoService;

    @GetMapping("/profiler/test")
    Object testProfiler() throws Exception {

        TimeUnit.SECONDS.sleep(3); // 補好CPU,但耗時
        demoService.testProfilerForService();
        return "SUCCESS";
    }

}

@Service
public class DemoService {

    public void testProfilerForService() throws InterruptedException {

        for (int i = 0; i < 10_000_000; i++) { // 既耗時,又耗CPU
            System.out.println(i + 100);
        }

        TimeUnit.SECONDS.sleep(2);
    }

}

使用Profiler分析器方式啟動應用,也就是這里:

圖片圖片

啟動后,訪問接口http://localhost:8080/demo/profiler/test,監控情況:

圖片圖片

點擊Stop Recording,在IDEA里就可以非常直觀的看到性能分析結果:controller層89%的時間花在了第28行,也就是調用service這一行

圖片圖片

service的方法里,89%的時間花在了i + 100這一行

圖片圖片

通過Click to navigate導航,一層一層深入,直到找到性能瓶頸的那行代碼。

你可能會碰到的問題
  1. 啟動時拋出異常java.lang.ClassNotFoundException: one.profiler.JfrSync

圖片圖片

  1. 點擊Stop Recording時報錯:Profiler error: Can‘t stop profiler, jattach output:

圖片圖片

  1. 應用已啟動,通過Attach方式啟動Profiler,報錯Failed to active JFR synchronization.

圖片圖片

當你遇到????這些錯誤時,錯誤歸因大概率都是同一個:JDK/JRE版本不對

  • 要么是HotSpot JDK(如Oracle JDK)低于1.8.0_252版本
  • 要么用的不是Oracle JDK。大多數情況下是這種情況,如果你用的是m系列芯片的Mac的話

解決方案:使用Oracle JDK(包含Oracle Open JDK)。至于原因嘛,感興趣查查JFR是啥就知道啦,順便了解下它的發展史。

這樣,您可以輕松地關注性能瓶頸并即時查看它們,而無需使用火焰圖和調用樹視圖執行徹底、耗時的分析。

PS:它里面有很多細節設置,可自行探索

AI Assistant

大多數博主都用它博眼球,但其實自己沒用過,有點無語。它背靠GPT的大語言模型:

圖片圖片

這里筆者一筆帶過,因為天朝用不了。你若有興趣可嘗試使用步驟:

  1. 在插件市場里下載安裝AI Assistant插件

圖片圖片

  1. 然后你可看到AI視窗,它可以幫你做這四件事:
  1. 解釋代碼
  2. 回答你編程上的問題
  3. 幫你寫commit msg
  4. 幫你寫注釋/文檔

圖片圖片

  1. 點擊Log in to JetBrains AI...,它跳到https://auth.grazie.ai/auth/ij讓你授權。如果沒用??,不出意外,你就會看到這個(或者根本打不開)

圖片圖片

  1. 如果用了??,就是這些頁面:

圖片圖片

  1. 圖片到這個頁面,就授權成功了。

圖片圖片

  1. 然后回到IDEA里,你會看到:

圖片圖片

  1. AI助手,聽起來diao炸天。但這部分筆者不浪費筆墨了,自己官網看去。畢竟天朝用不了,并且此功能目前也僅還是邀請制。把這個作為新版IDEA重要新特性寫出來的博主,我覺得很不負責,只為流量,無有其它。

Gitlab集成

現在可以和GitLab的集成,幫助我們簡化您的開發工作流。筆者本非常期待這個功能,這樣便可方便的合并同事提交的MR:

圖片圖片

但是:我進行到了這一步后,就沒有后續了:

圖片圖片

Log In時提示報錯:Failed to load merge requests. Deserialization of Request POST [https://gitlab.redacted.com/api/graphql/](https://gitlab.redacted.com/api/graphql/) response to JSON failed。原因很簡單:

圖片圖片

目前僅支持Gitlab 15.10以上的企業版。將來會支持到社區版本以及之前的版本~

更多整合Gitlab信息參考:https://blog.jetbrains.com/blog/2023/07/26/gitlab-support-in-jetbrains-ide

代碼可按行提交

相信每個開發者都遇到這個情況:把你這個方法、這幾行代碼提交了,其它的先不提交。因為其它的行可能編譯不通過、或者對方暫不需要,因此(行級別)局部提交就成了剛需。

圖片圖片

即可在這里逐行選擇:勾選的行表示需要commit的(默認該文件內所有的行都是提交的)。當然,也可以右鍵選擇/反選:

圖片圖片

這個功能平時用得不多,但特殊場景下是非常好用的,即實用又能炫技。

其它新功能

Project視圖中文件可按修改時間排序了

圖片圖片

Project視圖中文件可單擊打開了

圖片圖片

目的是提效,但我們習慣大都是雙擊打開,因人而異吧

可以連接Redis集群了

圖片圖片

需要注意的是,鏈接地址協議需加上cluster,就像這樣:jdbc:redis:cluster://xxx.xxx.xxx.xxx:6379/0

不再支持Struts2、Play和Cloud Foundry等插件

IntelliJ IDEA 2023.2及更高版本不再提供相關插件的支持

IDEA運行-Xmx默認上調為2GB

圖片圖片

可在這里查看你的IDEA的-Xmx值,默認已調整為2GB大小。個人建議:若內存夠用,建議至少調為4GB以上。

不再支持Windows 7

從IntelliJ IDEA 2023.2起,不再支持Windows 7。需將操作系統更新到Windows 10或更高的版本才行

?總結

每次軟件升級,我的建議就一個字:升。

責任編輯:武曉燕 來源: YourBatman
相關推薦

2023-07-27 06:06:29

TypeScript變量形式TC39

2012-05-18 15:37:01

JavaIntelliJ

2012-03-30 14:56:03

JavaIntelliJ

2011-05-18 09:29:30

IntelliJ

2023-04-03 08:33:27

2022-12-05 09:11:41

配置云同步Redis

2012-06-27 15:57:24

IntelliJ IDAndroid

2012-08-02 17:38:38

瀏覽器

2011-07-29 09:31:32

JDK 7

2024-04-18 08:04:47

ElectronChrome升級

2010-07-26 10:39:28

IntelliJ IDIntelliJ IDIntelliJ ID

2009-12-09 14:31:59

IntelliJ

2023-06-28 00:40:01

ECMAScriptWeakMapSymbol

2019-03-29 09:51:23

軟件開發者 性能

2011-09-30 09:47:15

GNOME 3.2

2014-03-19 11:04:14

Java 8Java8特性

2022-06-24 08:33:13

ECMAScriptjavaScript

2012-01-04 09:13:29

Java

2021-12-08 09:59:02

Django 4.0哈希器Redis緩存

2024-06-28 11:39:21

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人伊人伊人 | 国产精品99久久久精品免费观看 | 欧美激情免费在线 | 亚洲成人精品国产 | 黄色精品 | 国产精品免费看 | 99久久精品国产一区二区三区 | 国产无人区一区二区三区 | 欧美不卡视频一区发布 | 播放一级黄色片 | 亚洲视频中文字幕 | 欧美日韩视频在线播放 | 亚洲精品区 | 亚洲成人毛片 | 91精品国产91久久综合桃花 | 毛片韩国| 午夜伦4480yy私人影院 | 噜啊噜在线 | 91精品国产高清一区二区三区 | 亚洲丝袜天堂 | 国产精品三级 | 亚洲免费网址 | 国产精品国产精品 | 国内精品视频 | 欧美日韩在线视频一区二区 | 久久男人| 99久久久99久久国产片鸭王 | 综合婷婷 | 日韩精品一二三 | 久久久女 | 国产精品久久久久久亚洲调教 | 1000部精品久久久久久久久 | 青草福利 | 欧美激情精品久久久久久变态 | 91麻豆精品国产91久久久资源速度 | 亚洲一二三区av | 国产精品区二区三区日本 | 婷婷精品| 久久精品视频在线观看 | 精品一二三 | 日韩一二区在线观看 |