GoLand2019.1更新內(nèi)容

本文大部分翻譯自官方更新文檔暖混,如有錯(cuò)誤還行指出缕贡。
原文鏈接
GoLand在2019.3.27日更新了2019年的第一個(gè)版本。帶來(lái)了如下的新功能:

支持Memory, CPU, Mutex, and Block profilers

file

對(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í)間

file

火焰圖

支持鼠標(biāo)滾輪縮放
file

調(diào)用關(guān)系圖

file

方法列表

file

跳轉(zhuǎn)

file

點(diǎn)擊右鍵可以實(shí)現(xiàn)調(diào)到源碼等操作。

實(shí)現(xiàn)

file

可以看出實(shí)際的命令和命令行手動(dòng)輸入是相同的沦辙,-test.cpuprofile夫植,GoLand在解析的過(guò)程中做了工作,顯示到IDE中油讯。

智能單步調(diào)試

file

快捷鍵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

file

這個(gè)功能可幫助您根據(jù)所選類型快速創(chuàng)建新的接口隅俘。重構(gòu)對(duì)話框顯示了要傳輸?shù)叫陆涌诘慕ㄗh成員列表。 您可以為接口指定名稱笤喳,并選擇應(yīng)放置它的文件为居,目錄或包。 如果類型已經(jīng)實(shí)現(xiàn)了任何接口杀狡,它將自動(dòng)從列表中排除蒙畴。

更強(qiáng)大的重命名功能

快捷鍵Shift+F6

file

重命名重構(gòu)還有助于重命名接口中聲明的方法。 重命名此類方法時(shí)呜象,GoLand也會(huì)提供重命名它們的實(shí)現(xiàn)膳凝。“查找工具”窗口中的“重構(gòu)預(yù)覽”面板允許您查看當(dāng)前重構(gòu)將會(huì)產(chǎn)生什么影響恭陡,使用情況按它們?cè)陧?xiàng)目中的類型和位置分組蹬音。

Nil值分析

file

Go給了我們很多方法讓零值變得有用,但是我們擁有的機(jī)會(huì)越多休玩,就越容易陷入陷阱著淆。全新的Nil值分析是一組代碼檢查,旨在即時(shí)檢測(cè)變量在各種情況下是否具有零值或零值拴疤,并提醒您潛在的錯(cuò)誤和問(wèn)題永部。

調(diào)試器的改進(jìn)

使用Goroutines替換threads

file

調(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)制顯示

file

現(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)擊的位置

file

現(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

file

除了研究核心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

file

從IDE直接安裝任何Go SDK

點(diǎn)擊加號(hào)匣屡,選擇Download
file

在GoLand中創(chuàng)建新項(xiàng)目時(shí)誉结,現(xiàn)在可以選擇下載并安裝任何所需版本的SDK鹅士,包括Beta和RC版本掉盅。 您不必離開(kāi)IDE或再次通過(guò)Web瀏覽。一旦安裝了所選的SDK版本兰绣,GoLand就會(huì)在“事件日志”窗口中通知您臀玄。

更新 Go Modules

Vendor模式

file

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ò)的模塊

file

GoLand在您鍵入時(shí)為模塊緩存中的所有模塊提供代碼完成建議。這意味著畦浓,即使一個(gè)模塊從未在您的項(xiàng)目中被導(dǎo)入和使用痹束,GoLand仍然知道它。

新的命名規(guī)則

聲明操作的集合

快捷鍵Alt+Enter

file

我們添加了一組操作來(lái)幫助您按照自己的方式重新格式化聲明:在聲明中添加/刪除括號(hào)讶请,合并聲明祷嘶,將聲明拆分為兩組屎媳,逗號(hào)等等。

導(dǎo)出私有類型

file

新的導(dǎo)出意圖操作允許導(dǎo)出私有函數(shù)论巍、類型或字段烛谊,而無(wú)需在包之間切換。此外嘉汰,GoLand現(xiàn)在解析對(duì)未導(dǎo)出符號(hào)的引用丹禀,但它仍然會(huì)通知您這是一個(gè)錯(cuò)誤。

一些便利的變化

Sublime Text鍵映射

file

新的預(yù)配置Sublime Text鍵映射可在Preferences | Settings | Keymap中找到 鞋怀。

最近彈出窗口

file

快捷鍵Ctrl+Shift+E
最近位置彈出窗口是一種在項(xiàng)目中導(dǎo)航的新方法双泪。 它顯示了最近訪問(wèn)/更改的代碼位置列表,作為代碼片段密似,在該位置之前和之后有幾行焙矛。 要過(guò)濾結(jié)果,請(qǐng)開(kāi)始鍵入并跳轉(zhuǎn)匹配的代碼段残腌。

用于web開(kāi)發(fā)的項(xiàng)目模板

file

用于Web開(kāi)發(fā)的項(xiàng)目模板(如React App村斟,React Native,HTML5 Boilerplate和Foundation)可從Welcome屏幕獲得抛猫。

將“代碼樣式”設(shè)置導(dǎo)出到JSON

file

現(xiàn)在可以將代碼樣式設(shè)置導(dǎo)出為JSON邓梅。 這是在Preferences /Settings | Editor | Code Style下可用的導(dǎo)出到XML的已有選項(xiàng)。

版本控制改善

部分Git的“取消全部選中”復(fù)選框

file

部分Git提交的新的Uncheck all復(fù)選框(git add -p)允許您一次取消選中所有代碼塊邑滨,并允許您選擇要提交的代碼塊日缨。

FixupSquash Into操作

file

VCS中的“日志”選項(xiàng)卡獲得FixupSquash Into操作,以創(chuàng)建具有FixupSquash信息掖看。此外匣距,您現(xiàn)在可以使用日志選項(xiàng)卡上的上下文菜單從提交中挑選選定的文件。

輸入和輸出提交的指示

file

如果您轉(zhuǎn)到Preferences/Settings | Version Control | Git哎壳,并在分支彈出窗口中選擇Mark Branches that have incoming/outgoing commits in the Branches popup毅待,集成開(kāi)發(fā)環(huán)境將指示傳入和傳出提交是否可用于單個(gè)分支。

注釋中的作者姓名首字母

file

此外归榕,IDE還允許您選擇在VCS注釋中顯示作者的首字母或全名尸红。

End

本人喜歡用goland進(jìn)行Go語(yǔ)言開(kāi)發(fā),這次更新個(gè)人認(rèn)為是鼠標(biāo)黨的又一福利刹泄,而且免去了復(fù)雜命令的記憶外里。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市特石,隨后出現(xiàn)的幾起案子盅蝗,更是在濱河造成了極大的恐慌,老刑警劉巖姆蘸,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件墩莫,死亡現(xiàn)場(chǎng)離奇詭異芙委,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)狂秦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門灌侣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人裂问,你說(shuō)我怎么就攤上這事顶瞳。” “怎么了愕秫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)焰络。 經(jīng)常有香客問(wèn)我戴甩,道長(zhǎng),這世上最難降的妖魔是什么闪彼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任甜孤,我火速辦了婚禮,結(jié)果婚禮上畏腕,老公的妹妹穿的比我還像新娘缴川。我一直安慰自己,他們只是感情好描馅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布把夸。 她就那樣靜靜地躺著,像睡著了一般铭污。 火紅的嫁衣襯著肌膚如雪恋日。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天嘹狞,我揣著相機(jī)與錄音,去河邊找鬼。 笑死蓖扑,一個(gè)胖子當(dāng)著我的面吹牛竹捉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涧偷,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼簸喂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了燎潮?” 一聲冷哼從身側(cè)響起娘赴,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎跟啤,沒(méi)想到半個(gè)月后诽表,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體唉锌,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年竿奏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袄简。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泛啸,死狀恐怖绿语,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情候址,我是刑警寧澤吕粹,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站岗仑,受9級(jí)特大地震影響匹耕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荠雕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一稳其、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧炸卑,春花似錦既鞠、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至五续,卻和暖如春浑槽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背返帕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工桐玻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人荆萤。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓镊靴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親链韭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子偏竟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,097評(píng)論 1 32
  • 兒子這周回來(lái)變化還是挺大的,這些變化讓媽媽開(kāi)心不已敞峭,一定要好好感賞一下踊谋。 感賞兒子知道媽媽工作忙接他有點(diǎn)晚沒(méi)有任何...
    擁抱生活歲月靜好閱讀 297評(píng)論 0 4
  • “愛(ài)”,是世間最美好的字眼旋讹,溫潤(rùn)如玉殖蚕,暖若春風(fēng)轿衔。 但丁說(shuō),愛(ài)是美德的種子睦疫;羅曼·羅蘭說(shuō)害驹,愛(ài)是生命的火焰;泰戈?duì)栒f(shuō)蛤育,...
    麥芽糖的羊閱讀 262評(píng)論 0 0
  • 晴方好宛官,云影松,煙柳濃瓦糕,花正紅底洗。 輕舟過(guò),似游龍咕娄,芙蕖動(dòng)亥揖,葉重重。 再見(jiàn)你谭胚,嘆驚鴻,笑語(yǔ)中未玻,日墜窮灾而。 仲夏夜,繁星...
    木易舍予淵閱讀 190評(píng)論 0 2