本文大部分翻譯自官方更新文檔暖混,如有錯(cuò)誤還行指出缕贡。
原文鏈接
GoLand在2019.3.27日更新了2019年的第一個(gè)版本。帶來(lái)了如下的新功能:
支持Memory, CPU, Mutex, and Block profilers
對(duì)于Test或者Benchmark拣播,點(diǎn)擊左側(cè)小箭頭可以發(fā)現(xiàn)晾咪,多了幾個(gè)選項(xiàng)。
GoLand通過(guò)集成CPU贮配、Blocking谍倦、Memory和Mutex分析器擴(kuò)展了它的工具支持。您可以從IDE開(kāi)始分析您的應(yīng)用程序泪勒,然后在一個(gè)專用的工具窗口中查看分析結(jié)果(查看|工具窗口|分析器)昼蛀。 為了更好地理解代碼中可能存在的性能問(wèn)題,請(qǐng)按每種特定的探查器類型的可用指標(biāo)對(duì)結(jié)果進(jìn)行排序; 使用火焰圖表圆存,調(diào)用樹(shù)和方法列表選項(xiàng)卡; 甚至導(dǎo)航到源代碼來(lái)檢查問(wèn)題叼旋。 點(diǎn)擊CPU Profile看下效果
支持采樣時(shí)間和CPU時(shí)間
火焰圖
支持鼠標(biāo)滾輪縮放調(diào)用關(guān)系圖
方法列表
跳轉(zhuǎn)
點(diǎn)擊右鍵可以實(shí)現(xiàn)調(diào)到源碼等操作。
實(shí)現(xiàn)
可以看出實(shí)際的命令和命令行手動(dòng)輸入是相同的沦辙,-test.cpuprofile
夫植,GoLand在解析的過(guò)程中做了工作,顯示到IDE中油讯。
智能單步調(diào)試
快捷鍵Shift+F7
借助新的調(diào)試器操作智能單步執(zhí)行详民,調(diào)試一系列調(diào)用和嵌套方法調(diào)用變得更加容易延欠。它允許您進(jìn)入表達(dá)式中的任意調(diào)用,自動(dòng)跳過(guò)您不感興趣的方法阐斜。 對(duì)于這樣一行代碼
fmt.Printf("My name is %s, I am %d!", me.FullName(), me.Age())
你可以選擇專門進(jìn)入Age()衫冻。要調(diào)用Smart Step Into,請(qǐng)按Shift + F7或在“運(yùn)行”菜單中選擇“智能步入”谒出。
新的重構(gòu)
抽取interface
快捷鍵Ctrl+Alt+Shift+T
這個(gè)功能可幫助您根據(jù)所選類型快速創(chuàng)建新的接口隅俘。重構(gòu)對(duì)話框顯示了要傳輸?shù)叫陆涌诘慕ㄗh成員列表。 您可以為接口指定名稱笤喳,并選擇應(yīng)放置它的文件为居,目錄或包。 如果類型已經(jīng)實(shí)現(xiàn)了任何接口杀狡,它將自動(dòng)從列表中排除蒙畴。
更強(qiáng)大的重命名功能
快捷鍵Shift+F6
重命名重構(gòu)還有助于重命名接口中聲明的方法。 重命名此類方法時(shí)呜象,GoLand也會(huì)提供重命名它們的實(shí)現(xiàn)膳凝。“查找工具”窗口中的“重構(gòu)預(yù)覽”面板允許您查看當(dāng)前重構(gòu)將會(huì)產(chǎn)生什么影響恭陡,使用情況按它們?cè)陧?xiàng)目中的類型和位置分組蹬音。
Nil值分析
Go給了我們很多方法讓零值變得有用,但是我們擁有的機(jī)會(huì)越多休玩,就越容易陷入陷阱著淆。全新的Nil值分析是一組代碼檢查,旨在即時(shí)檢測(cè)變量在各種情況下是否具有零值或零值拴疤,并提醒您潛在的錯(cuò)誤和問(wèn)題永部。
調(diào)試器的改進(jìn)
使用Goroutines替換threads
調(diào)試器輸出現(xiàn)在顯示goroutines而不是線程。 在它們之間切換呐矾,快速導(dǎo)航到標(biāo)準(zhǔn)Go庫(kù)苔埋,并獲得有關(guān)代碼執(zhí)行方式的更多信息。另外蜒犯,使用Copy Stack
(右鍵單擊goroutine列表)將整個(gè)幀堆棧復(fù)制到剪貼板组橄。
將int以二進(jìn)制、十進(jìn)制愧薛、十六進(jìn)制顯示
現(xiàn)在削罩,您可以選擇是否在調(diào)試器視圖中以二進(jìn)制、十進(jìn)制或十六進(jìn)制的形式顯示int變量愿阐。右鍵單擊一個(gè)變量糙麦,并在View as
下選擇適當(dāng)?shù)幕蚴走x的選項(xiàng)。
運(yùn)行到鼠標(biāo)所點(diǎn)擊的位置
現(xiàn)在可以通過(guò)在調(diào)試時(shí)單擊行號(hào)來(lái)運(yùn)行“運(yùn)行到光標(biāo)”操作咆瘟。 將鼠標(biāo)懸停在一條線上以突出顯示它。 單擊行號(hào)以運(yùn)行到光標(biāo)。
支持minidumps
除了研究核心Core Dump之外宛徊,現(xiàn)在還可以在IDE中打開(kāi)和分析windows minidumps。與Core Dump一樣,選擇Run | Open core Dump也很簡(jiǎn)單霸旗。
什么是Core Dump
Core
的意思是內(nèi)存, Dump的意思是扔出來(lái), 堆出來(lái).開(kāi)發(fā)和使用Unix
程序時(shí), 有時(shí)程序莫名其妙的down了, 卻沒(méi)有任何的提示(有時(shí)候會(huì)提示core dumped
). 這時(shí)候可以查看一下有沒(méi)有形如core
.進(jìn)程號(hào)的文件生成, 這個(gè)文件便是操作系統(tǒng)把程序down掉時(shí)的內(nèi)存內(nèi)容扔出來(lái)生成的, 它可以做為調(diào)試程序的參考.core dump
又叫核心轉(zhuǎn)儲(chǔ), 當(dāng)程序運(yùn)行過(guò)程中發(fā)生異常, 程序異常退出時(shí), 由操作系統(tǒng)把程序當(dāng)前的內(nèi)存狀況存儲(chǔ)在一個(gè)core文件中, 叫core dump
.
使用sudo運(yùn)行Go配置
現(xiàn)在可以使用sudo運(yùn)行Run/Debug
配置。 它允許您調(diào)試需要特權(quán)操作的應(yīng)用程序作為用戶。
新的主題
全新的UI主題問(wèn)好!現(xiàn)在可以通過(guò)插件使用深紫色、青色和灰色主題。從2019.1開(kāi)始,所有基于IntelliJ - IDEA的集成開(kāi)發(fā)人員都可以獲得所有用戶界面元素的完全可定制的顏色。你可以隨便改變?nèi)魏螙|西的顏色!
可以嘗試一下這個(gè)騷紫的主題猾警。 安裝方式:setting -> Plugins 中搜索Dark Purple
從IDE直接安裝任何Go SDK
點(diǎn)擊加號(hào)匣屡,選擇Download在GoLand中創(chuàng)建新項(xiàng)目時(shí)誉结,現(xiàn)在可以選擇下載并安裝任何所需版本的SDK鹅士,包括Beta和RC版本掉盅。 您不必離開(kāi)IDE或再次通過(guò)Web瀏覽。一旦安裝了所選的SDK版本兰绣,GoLand就會(huì)在“事件日志”窗口中通知您臀玄。
更新 Go Modules
Vendor模式
Go Modules項(xiàng)目模板獲得一個(gè)新的Vendoring mode復(fù)選框瓢阴,它允許您使用vendor文件夾中的庫(kù),而不需要任何外部依賴關(guān)系或連接到Internet睬涧。 通過(guò)“首選項(xiàng)”|中的設(shè)置也可以使用相同的復(fù)選框 Go| Go Modules(vgo)募胃。
完成從未導(dǎo)入過(guò)的模塊
GoLand在您鍵入時(shí)為模塊緩存中的所有模塊提供代碼完成建議。這意味著畦浓,即使一個(gè)模塊從未在您的項(xiàng)目中被導(dǎo)入和使用痹束,GoLand仍然知道它。
新的命名規(guī)則
聲明操作的集合
快捷鍵Alt+Enter
我們添加了一組操作來(lái)幫助您按照自己的方式重新格式化聲明:在聲明中添加/刪除括號(hào)讶请,合并聲明祷嘶,將聲明拆分為兩組屎媳,逗號(hào)等等。
導(dǎo)出私有類型
新的導(dǎo)出意圖操作允許導(dǎo)出私有函數(shù)论巍、類型或字段烛谊,而無(wú)需在包之間切換。此外嘉汰,GoLand現(xiàn)在解析對(duì)未導(dǎo)出符號(hào)的引用丹禀,但它仍然會(huì)通知您這是一個(gè)錯(cuò)誤。
一些便利的變化
Sublime Text鍵映射
新的預(yù)配置Sublime Text鍵映射可在Preferences | Settings | Keymap
中找到 鞋怀。
最近彈出窗口
快捷鍵Ctrl+Shift+E
最近位置彈出窗口是一種在項(xiàng)目中導(dǎo)航的新方法双泪。 它顯示了最近訪問(wèn)/更改的代碼位置列表,作為代碼片段密似,在該位置之前和之后有幾行焙矛。 要過(guò)濾結(jié)果,請(qǐng)開(kāi)始鍵入并跳轉(zhuǎn)匹配的代碼段残腌。
用于web開(kāi)發(fā)的項(xiàng)目模板
用于Web開(kāi)發(fā)的項(xiàng)目模板(如React App村斟,React Native,HTML5 Boilerplate和Foundation)可從Welcome
屏幕獲得抛猫。
將“代碼樣式”設(shè)置導(dǎo)出到JSON
現(xiàn)在可以將代碼樣式設(shè)置導(dǎo)出為JSON邓梅。 這是在Preferences /Settings | Editor | Code Style
下可用的導(dǎo)出到XML的已有選項(xiàng)。
版本控制改善
部分Git的“取消全部選中”復(fù)選框
部分Git提交的新的Uncheck all復(fù)選框(git add -p)允許您一次取消選中所有代碼塊邑滨,并允許您選擇要提交的代碼塊日缨。
Fixup
和Squash Into
操作
VCS中的“日志”選項(xiàng)卡獲得Fixup
和Squash Into
操作,以創(chuàng)建具有Fixup
和Squash
信息掖看。此外匣距,您現(xiàn)在可以使用日志選項(xiàng)卡上的上下文菜單從提交中挑選選定的文件。
輸入和輸出提交的指示
如果您轉(zhuǎn)到Preferences/Settings | Version Control | Git
哎壳,并在分支彈出窗口中選擇Mark Branches that have incoming/outgoing commits in the Branches popup
毅待,集成開(kāi)發(fā)環(huán)境將指示傳入和傳出提交是否可用于單個(gè)分支。
注釋中的作者姓名首字母
此外归榕,IDE還允許您選擇在VCS注釋中顯示作者的首字母或全名尸红。
End
本人喜歡用goland進(jìn)行Go語(yǔ)言開(kāi)發(fā),這次更新個(gè)人認(rèn)為是鼠標(biāo)黨的又一福利刹泄,而且免去了復(fù)雜命令的記憶外里。