前言
作为一个开发者,包括职业与业余,相信大家都在使用集成开发环境IDE。作为专业的开发者,相信大家都是Full Stack Developer,意味着我们的日常开发通常都会涉及多种编程语言比如Java、Python、Shell、Golang、大前端等,通常我们往往要在以下的 “IDE” 列表里选择几种工具搭配使用:
- Vim、Emacs
- Sublime、Atom、Visual Studio
- Eclipse、Jetbrains系列
然而__,__更多的工具选择往往意味着更多的维护及学习成本,所以在这里我推荐大家使用Intellij IDEA,尤其对于Java为主力的全栈工程师及编程初学者,IDEA绝对是首选。
一、安装与配置
1.1 安装方式(MAC为例)
1.2 配置流程
原则:简洁,够用
step1:通用配置
Color Scheme主题配置(推荐Solarized Dark)
copyright配置
新增copyright
设置copyright
配置 Terminal
配置shell path与系统一致
step2:开发语言配置(根据需要配置)
step3: 插件配置
step4:调优配置
二、多语言开发环境配置
2.1 配置Java开发环境
设置禁止 import *
设置统一编译jdk版本(关闭module JDK)
配置打开序列化接口 serialVersionUID检查
2.2 配置Python开发环境
安装 Python 插件
配置sdk(推荐主力sdk 使用System python sdk,保持对齐)
配置module sdk
效果
2.3 配置Golang开发环境
安装 GO 插件
配置方式
具体参考 Go开发环境搭建
效果
2.4 配置Shell开发环境
安装 BashSupport 插件
效果
三、 插件
3.1 插件介绍
IDE的强大之一再于扩展,几乎所有的IDE都支持插件扩展,你可以通过第三方公开的插件仓库或者自定义插件的方式进行扩展,IDE目前提供的插件安装方式有以下两类:
-
远程仓库(推荐)
- 官方远程仓库,默认配置
- 自定义远程仓库,集团就有自建的远程仓库
- 硬盘安装,推荐 官方插件下载
__建议:优先使用远程仓库下载__,偶遇网络不佳情况可以尝试手动下载,通过硬盘安装
3.2 推荐插件列表
必装
- Ali-CodeAnalysis 集团代码规约插件
- FindBugs-IDEA code analysi 必备,期待 Ali-CodeAnalysis 可以完全替代FindBugs
编程语言支持
- Python
- Go
- BashSupport
- Scala
其它
- JRebel 热部署插件
- Lombok Plugin lombok support
- Code Glance 借鉴于Sublime
- Statistic 代码统计插件
3.4 推荐插件列表
四、调优
IDE性能调优
IntelliJ IDEA 是基于Java开发的,这个时候合理调整JVM参数往往可以加速IDE性能,如果你在使用IDEA的过程中遇到过类似:
- 初次打开IDE,项目文件indexing的时候系统会异常卡顿
- 导入多个module的引起卡顿
- maven重新导入IDEA卡顿
- 长时间没有重启IDE引起卡顿
- 其它情况
这个时候建议大家通过修改IDEA java进程启动参数来达到优化,修改方式如下:
修改启动文件
MAC(默认安装):编辑文件 /Applications/IntelliJ\ IDEA.app/Contents/bin/idea.vmoptions
内容可以参考如下:
参考配置
-Xms4096m
-Xmx4096m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Xverify:none
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
说明:默认情况 -Xms与-Xmx一般为128M或者256M,默认配置在我们通过一个Project管理多个moudle 代码量查过百M的情况明显是不够的。