1. 程式人生 > >我與Jetbrains的這些年

我與Jetbrains的這些年

前言

本章主要說一下如何去使用Jetbrains的各類工具,並且在上週參加了Jetbrains開發者日的大會,把參會的感受和體驗在這裡分享給各位。話不多說,我們進入正題。

使用

想必各位一定使用過Jetbrains的任意一款產品,就算沒用過也應該聽說過吧。Jetbrains從開始至今總共分為三大模組

  1. Developer Ide (整合開發工具)
  2. Language (Jetbrains的開發語言 Kotlin)
  3. DevOps (任務管理,持續整合,持續部署的一些東西)

對於Developer Ide我推薦使用Jetbrains ToolBox,它是管理所有Jetbrains Ide的工具。

Jetbrains平均一個月做一次小更新,安裝了Jetbrains ToolBox就不必再去關心更新的事情了。並且Jetbrains ToolBox 還提供了專案列表的功能,如果這時候你需要開啟一個專案,你無需去關心專案是哪種開發語言做的,只需要開啟它並選擇你需要開啟的專案即可。

這裡要注意,使用Alfred的同學,Jetbrains ToolBox將Ide安裝的目錄不在是/Application而是~/Application,要記得加入到可搜尋列表中,否則是找不到啟動檔案的。

以PhpStrom為例,來講解一下Jetbrains Ide的一些有趣的配置。

快速編碼

這在Jetbrains開發者日上範老師講過的一個技巧,你需要開啟

Preferences -> Editor -> {General->Postfix Completion || Live Templates}

General->Postfix Completion 與 Live Templates 都是為了去提供編碼速度的設定。首先我們先看下 Live Templates

當你在輸入fore時按空格(當然也可以選擇回車,Tab鍵,這是需要設定的)

就會出現完整的foreach語句,你可以把他當做填空題去完善這個結構

fore 
----> 
foreach ($ITERABLE$ as $VAR_VALUE$) {
    $END$
}
複製程式碼

當然還有一些其他的例如 eco -> echo , prof -> 建立一個protected的類方法。Ide預設已經為我們準備了一些常用的簡寫方法,涵蓋了至少你知道的所有語言。當然如果沒有你想要的你也可以自行新增新的模板。

真不愧叫 Live Templates,第二個來介紹下General->Postfix Completion,這個對於第一個來說是另外一種編輯,第一種是通過鍵入初始化命令來生成模板,例如eco -> echo ,第二種則是以物件形式去便捷的去生成模板。下面舉個栗子

當你鍵入 a.notnull 則生成 if (a !== null) {}

$a.notnull
---->
if ($a !== null) {

}
複製程式碼

在編碼的時候不是每次都會想好整個流程結構在開始編碼,所以Live Templates 就有一定的侷限性了。這時候 General->Postfix Completion 就起到了很大作用。最後我們介紹 File and Code Templates , 在快捷生成編碼及後續生成程式碼是在編碼開始時的一些騷操作,為了將編碼更快,我們還需要將常用的檔案模板加入其中

例如你長期使用Laravel框架去開發應用,在使用laravel寫一個功能的時候我們會經歷下面幾個步驟

宣告一個路由 -> 建立一個Controller,Model,Action ... 檔案 -> 呼叫Model操作資料 -> 返回給使用者結果

如果你使用PhpStrom你大致這樣寫

  1. 開啟路由檔案 router+空格 完成一個路由結構的自動生成 (當然你需要提前設定)
  2. 建立一個 Php Controller,Model,Action 檔案,檔案結構已經設定好
  3. 使用General->Postfix Completion設定好的寫法分分鐘解決所有操作

Database

PhpStrom內建了Database,面板十分簡潔易用。他面板的右上角

有興趣你可以去試試

Api

細心的朋友一定知道PhpStrom內建了介面測試工具,他在 Tools -> Http Client -> Test RestFul Web Service 下。

臨時的測試你不必開啟萬能的Postman,你完全可以通過ide內建的測試工具去完成api測試。當然還有另外一種更厲害的方式 -> 建立一個 test.http 檔案

GET www.baidu.com
複製程式碼

像上述這樣,點選執行你將獲得Response

GET http://www.baidu.com

HTTP/1.1 200 OK
Date: Fri, 23 Nov 2018 05:19:42 GMT
Server: Apache
Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT
ETag: "51-47cf7e6ee8400"
Accept-Ranges: bytes
Content-Length: 81
Cache-Control: max-age=86400
Expires: Sat, 24 Nov 2018 05:19:42 GMT
Connection: Keep-Alive
Content-Type: text/html

<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>


Response code: 200 (OK); Time: 71ms; Content length: 81 bytes
複製程式碼

當然對比Postman依舊不遜色,既然已經將軟體改為編碼形式,那在Postman內的功能,我們在.http檔案中很方便的就可以實現。可以新增請求引數

GET http://www.baidu.com
Content-Type: application/json
{
"name":"zhangsan"
}

複製程式碼

每個請求以下一個請求方式前結束。具體請移步官網檢視。

主題

工欲善其事,必先利其器。上面說的Jetbrains提供的功能只是冰山一角,想要具體的學習如何使用還請移步官方。帥氣的UI也是調整開發效率的一部分。看到自己的ide非常漂亮,編碼的心情自己好的不得了。我使用的是 Material Theme UI

關於字型的調整可以在 Editor -> Font 下進行

當然如果你不僅僅從事PHP相關的開發,好不容易配置出來一個自己滿意的IDE,寫Go的時候用Goland還要配置,大可不必這樣。你可以通過 File -> Export Settings 來匯出你的配置

隨後在通過 File -> Import Settings 來匯入你的配置。這樣就OK了。如果你購買了 Jetbrains 全家桶或者任意的Ide,也可以通過File -> Sync Settings To Jetbrains Account 來同步到你的Jetbrains賬號,類似於雲同步一樣。

便捷

剩下的就是快捷鍵了,快捷鍵乃IDE編碼之本,什麼?不需要? 那你咋不用Word編碼去?快捷鍵我就不總結了,網路上太多了。下面貼出laravel-china一位大神的總結。

laravel-china.org/topics/5420…

大會

以上說了一部分大會的內容了。Jetbrains的開發者日也並不是全部商業宣傳,至少它做的事情是值得讓開發者認可的。PPT無法分享給各位,我也不知道怎麼拿到。抱歉!大會主要將了以下幾項內容,上午是主會場,下午分倆個會場 Kotlin & Java 和 Web,作為一個PHP程式設計師,我沒得選。


上午

  1. 大會開始,說了很多關於他們的語言 Kotlin 的使用方法。
  2. 隨後說了Jetbrains內部的工作方式及管理方法
  3. 開始ide -> Kotlin 顯示 Kotlin特性

下午

  1. 簡潔高效的PHP程式設計指南,推薦了一下測試、除錯方法&類庫及PhpStrom的使用方法
  2. 在真實世界中進行 Go效能優化 講的go pprof
  3. 用TDD學習高效開發 開始這大佬寫了一通的java測試用例,不咋能看懂。後面說了一些關於程式人生的事情
  4. JetBrains的無痛DevOps解決方案 最後講了JetBrainsDevOps的一些套件,例如TeamCity (與TravisCi類似) ,Upsource 等等。具體可參考 www.jetbrains.com/devops/?fro…

總而言之,總體下來大多都是乾貨,至少我感覺沒有任何商業宣傳的性質。

致謝

到這裡本章就結束了,感謝看到這裡,不過我還要提醒一句給各位開發者

編輯器不要漢化 編輯器不要漢化 編輯器不要漢化

相信你可以明白。謝謝!