乐趣区

我与Jetbrains的这些年

前言
本章主要说一下如何去使用 Jetbrains 的各类工具,并且在上周参加了 Jetbrains 开发者日的大会,把参会的感受和体验在这里分享给各位。话不多说,我们进入正题。
使用
想必各位一定使用过 Jetbrains 的任意一款产品,就算没用过也应该听说过吧。Jetbrains 从开始至今总共分为三大模块

Developer Ide (集成开发工具)
Language (Jetbrains 的开发语言 Kotlin)
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 你大致这样写

打开路由文件 router+ 空格 完成一个路由结构的自动生成 (当然你需要提前设置)
创建一个 Php Controller,Model,Action 文件,文件结构已经设置好
使用 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 一位大神的总结。
https://laravel-china.org/top…
大会
以上说了一部分大会的内容了。Jetbrains 的开发者日也并不是全部商业宣传,至少它做的事情是值得让开发者认可的。PPT 无法分享给各位,我也不知道怎么拿到。抱歉!大会主要将了以下几项内容,上午是主会场,下午分俩个会场 Kotlin & Java 和 Web,作为一个 PHP 程序员,我没得选。

上午

大会开始,说了很多关于他们的语言 Kotlin 的使用方法。
随后说了 Jetbrains 内部的工作方式及管理方法
开始 ide -> Kotlin 显示 Kotlin 特性

下午

简洁高效的 PHP 编程指南,推荐了一下测试、调试方法 & 类库及 PhpStrom 的使用方法
在真实世界中进行 Go 性能优化 讲的 go pprof
用 TDD 学习高效开发 开始这大佬写了一通的 java 测试用例,不咋能看懂。后面说了一些关于程序人生的事情
JetBrains 的无痛 DevOps 解决方案 最后讲了 JetBrainsDevOps 的一些套件,例如 TeamCity (与 TravisCi 类似),Upsource 等等。具体可参考 https://www.jetbrains.com/dev…

总而言之,总体下来大多都是干货,至少我感觉没有任何商业宣传的性质。
致谢
到这里本章就结束了,感谢看到这里,不过我还要提醒一句给各位开发者
编辑器不要汉化编辑器不要汉化编辑器不要汉化
相信你可以明白。谢谢!

退出移动版