developer env setup - hanyong/note GitHub Wiki

开发环境搭建

eclipse

  • 环境:ubuntu-mate 16.04
  • 版本:oxygen (4.7.x)
  • 时间:2017-12
  1. 下载软件包,可从国内镜像下载,如 USTC eclipse 镜像。 java 开发可下载 java 版,其他插件按需安装。

  2. 解压下载的软件包,解压后默认文件夹名为 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 ```

  1. 设置 jvm 参数。编辑 eclipse.ini,在 -vmargs 前添加 -vm 设置 jdk bin 路径,如:

-vm /usr/lib/jvm/java-8-openjdk-amd64/bin/ ```

按需修改 `-Xms`, `-Xmx` 等参数,建议修改为 1024m 。

其他配置参考 eclipse 运行时参数帮助文档

  1. 设置 dock 图标关联。建议每个开发环境 eclipse 关联一个 dock 图标。 linux dock 软件 (如 mate-desktop 自带的 dock applet) 通常使用 StartupWMClass 关联应用程序和 dock 图标。 eclipse 启动后默认使用 plugins/org.eclipse.epp.package.*/plugin.xml 插件配置的 appName property 设置主窗口 nameclass。 默认为 "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 图标即可。
  1. eclipse workspace 相关的配置保存在 .metadata 目录下。 一个 workspace 目录只能被一个 eclipse 使用,切换 eclipse 版本时可备份恢复 .metadata 文件夹。

  2. 其他设置。

  • 为避免 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

https://direnv.net/

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 ```