developer env setup - hanyong/note GitHub Wiki
开发环境搭建
eclipse
- 环境:ubuntu-mate 16.04
- 版本:oxygen (4.7.x)
- 时间:2017-12
-
下载软件包,可从国内镜像下载,如 USTC eclipse 镜像。 java 开发可下载 java 版,其他插件按需安装。
-
解压下载的软件包,解压后默认文件夹名为 eclipse,建议修改为对应开发环境和版本名,如
eclipse-java-oxygen-1a
,同时设置一个对应开发环境的软链接。
tar xf ~/software/eclipse/eclipse-java-oxygen-1a-linux-gtk-x86_64.tar.gz mv eclipse eclipse-java-oxygen-1a -T ln -s eclipse-java-oxygen-1a/ eclipse-java -Tf ```
-
设置 jvm 参数。编辑
eclipse.ini
,在-vmargs
前添加-vm
设置 jdk bin 路径,如:
-vm /usr/lib/jvm/java-8-openjdk-amd64/bin/ ```
按需修改 `-Xms`, `-Xmx` 等参数,建议修改为 1024m 。
其他配置参考 eclipse 运行时参数帮助文档 。
-
设置 dock 图标关联。建议每个开发环境 eclipse 关联一个 dock 图标。 linux dock 软件 (如 mate-desktop 自带的 dock applet) 通常使用
StartupWMClass
关联应用程序和 dock 图标。 eclipse 启动后默认使用plugins/org.eclipse.epp.package.*/plugin.xml
插件配置的appName
property 设置主窗口name
和class
。 默认为 "Eclipse",建议修改为对应开发环境名,如 "eclipse-java" 。 这个配置应在第一次启动前修改,或修改后第一次启动 eclipse 时添加-clean
参数清空配置缓存使修改生效。编写一个简单 desktop 文件
~/.local/share/applications/eclipse-java.desktop
内容如下:
[Desktop Entry] Version=1.0 Encoding=UTF-8 Name=eclipse-java Type=Application Terminal=false Exec=sh -c "exec $HOME/opt/eclipse-java/eclipse" Icon=/home/hanyong/opt/eclipse-java/icon.xpm StartupNotify=true Keywords=Run; StartupWMClass=eclipse-java ```
将此 desktop 文件添加为 dock 图标即可。
-
eclipse workspace 相关的配置保存在
.metadata
目录下。 一个 workspace 目录只能被一个 eclipse 使用,切换 eclipse 版本时可备份恢复 .metadata 文件夹。 -
其他设置。
- 为避免 eclipse swt 使用 gtk3(gtk2 可能更稳定友好?),可设置环境变量
SWT_GTK3=0
。 - 关掉 always show welcome 。
- Fonts 设置基本字体为 Monospace 11,或 DejaVu Sans Mono 11 。
- News 关掉自动拉取 RSS 。
- Web Browser 设置使用外部浏览器。
- Marketplace 安装 Spring Tools(需要优雅上网),可只安装必须组件和 Maven Support。
个人偏好设置:
- 应用 Spring Tools 推荐的 M2E 配置(JDT 配置不需要)。
- Java Code Style Formatter 设置 "Eclipse [built-in-fixed]",Line Wrapping 勾选上 "Never join already wrapped lines" 。
- Java Content Assist 页:
- Insertion 选择 "Completion overwrites" 。
- 取消勾选 "Inert single proposals automatically" 。
- 取消勾选 "Use static imports" 。
- 快捷键
- "Copy Qualified Name" 设置为 "Shift+Ctrl+C", When "Editing Java Source", 对应的 "Toogle Comment" 取消快捷键设置以避免冲突。
- "Organize Imports" 设置 "Number of static imports needed for .*" 为 5。
direnv
sdkman
-
环境变量配置
SDKMAN_OFFLINE_MODE=true
。 -
配置文件
~/.sdkman/etc/config
,设置sdkman_colour_enable=false
。
sed -r -e 's#^(sdkman_colour_enable)=.*$#\1=false#g' ~/.sdkman/etc/config -i ```
-
-不要自动检查版本,
~/.sdkman/bin/sdkman-init.sh
注释掉如下一行:-(新版本不再需要?)
SDKMAN_REMOTE_VERSION=$(__sdkman_secure_curl_with_timeouts "$VERSION_URL") ```
sed 命令:
```
sed -r -e '/^(\s|#)SDKMAN_REMOTE_VERSION=$(__sdkman_secure_curl/ s/(^\s)#?(SDKMAN)/\1#\2/g' ~/.sdkman/bin/sdkman-init.sh -i ```