macOS中SpaceVim搭建java开发环境

101 篇文章 6 订阅

安装JDK11

过程略,可参考:
https://blog.csdn.net/lxyoucan/article/details/111120215

macOS安装支持Python 3的neovim

为什么不用 vim?因为我使用vim时会有这样的提示: neocomplete does not work with Vim 8.2.1066+.
也许换个版本就可以了,因为我试了一下neovim直接就可以了,就没有换版本。
官方是这么说的:SpaceVim 支持什么版本的 Vim/Neovim?
建议使用 Vim 7.4 或者 Neovim v0.1.7 及其以上版本。为了更好的使用体验,建议使用最新版的 Neovim。

1、你需要先安装

brew install neovim

2、安装python支持,我用denite和YCM只需要python3

brew install python3
pip3 install neovim --upgrade

安装 SpaceVim

curl -sLf https://spacevim.org/cn/install.sh | bash

配置java环境

Java智能提示支持

《使用 Vim 搭建 Java 开发环境》https://spacevim.org/cn/use-vim-as-a-java-ide/

配置javalsp

这里我部署在 ~/.SpaceVim.d/javalsp目录,这个可以根据需要自行修改,如果修改了,则上面配置文件中的路径也要同步修改。

#创建javalsp所需目录
mkdir -p ~/.SpaceVim.d/javalsp/.cache/javalsp

下载eclipse.jdt.ls
默认下载速度很慢,推荐使用迅雷下载。
把下载下来的文件解压到 ~/.SpaceVim.d/javalsp目录。我解压后的路径如下:

itkey@ycmit: ~/.SpaceVim.d/javalsp $ l                                                                                                                                                                    [8:44:24]
total 16
drwxr-xr-x  13 itkey  staff   416B  2 19 21:28 .
drwxr-xr-x   5 itkey  staff   160B  2 20 08:36 ..
-rw-r--r--@  1 itkey  staff   6.0K  2 20 08:37 .DS_Store
drwxr-xr-x   4 itkey  staff   128B  2 19 21:27 .cache
drwxr-xr-x   7 itkey  staff   224B  2 19 22:29 config_linux
drwxr-xr-x   7 itkey  staff   224B  2 20 08:19 config_mac
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_ss_linux
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_ss_mac
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_ss_win
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 config_win
drwxr-xr-x   7 itkey  staff   224B  2 19 21:28 configuration
drwxr-xr-x   3 itkey  staff    96B  2 18 04:25 features
drwxr-xr-x  82 itkey  staff   2.6K  2 18 04:25 plugins

修改配置

编辑SpaceVim配置文件~/.SpaceVim.d/init.toml

vim ~/.SpaceVim.d/init.toml

SpaceVim默认是不开启java智能提示的,需要手动开启。增加以下内容:

[[layers]]
  name = "lang#java"

[[layers]]
  name = "lsp"
  filetypes = [
    "java"
  ]
  [layers.override_cmd]
    java = [
    "java",
    "-Declipse.application=org.eclipse.jdt.ls.core.id1",
    "-Dosgi.bundles.defaultStartLevel=4",
    "-Declipse.product=org.eclipse.jdt.ls.core.product",
    "-Dlog.protocol=true",
    "-Dlog.level=NONE",
    "-noverify",
    "-Xmx1G",
    "-jar",
    "~/.SpaceVim.d/javalsp/plugins/org.eclipse.equinox.launcher_1.6.0.v20200915-1508.jar",
    "-configuration",
    "~/.SpaceVim.d/javalsp/config_mac",
    "-data",
    "~/.SpaceVim.d/javalsp/.cache/javalsp"
    ]

这里的-jar -configuration -data 的值根据实际部署位置调整即可。
特别是-jar,因为jar的版本一直在升级,很有可能不一样!

-configuration根据当前系统,选择对应的配置文件:

config_win, Windows 系统
config_mac, MacOS 系统
config_linux, Linux 系统

配置完成以后,下一次打开vim 会自动安装一些插件。

在这里插入图片描述

虽然下次打开.java文件的时候,就可以有语法检查,代码智能提示啦。
至此大部分人应该顺利完成了!

小坑提醒:
1.测试的时候千万别放在文件很多的目录,比如:不要在用户目录~/下创建.java测试。因为程序会自动扫描文件所在目录的文件,如果文件特别多,扫描时间很久。比如:我放在nvim ~/Demo.java 加载竟然需要1分 30秒

2.这里需要注意一点的是,nvim Demo.java进入编辑以后不是立马就有智能提示的,因为插件要后台启动javalsp就算状态栏下面有Ready也不行,还要等!而且没有进度条和提示。
也就是因为这一点,我老以为自己插件没安装成功。

问题是这个javalsp服务每次关闭nvim也自动关闭了,这就很难受了,每次关闭重开又得等。目前我的解决办法就是尽量就不关闭它了。执行命令在重新打开个终端吧!

如果不想重新打开一个终端,还可以挂起现在nvim进程, Ctrl + Z 然后执行完命令后,在执行 fg 回到nvim

语法树 报错解决

在这里插入图片描述

默认的语法树插件是 tagbar,快捷键为 F2。这一快捷键将会在左侧打开一个语法树侧栏。
在macOS下会报一个ctags的错,详细解决办法的见:
《Getting started with ctags + Vim on MacOS》

精简教程如下:

brew install ctags
alias ctags="`brew --prefix`/bin/ctags"
alias ctags >> ~/.zshrc

执行这三行后,在次在nvim编辑java代码时,就可以用F2打开语法树了。

字体乱码问题

默认打开界面可能会看到一些图标都是?号,是字体设置不正确导致的。

使用Homebrew安装nerd-font字体,顺序运行如下命令行:

brew tap homebrew/cask-fonts
brew install font-hack-nerd-font --cask

设置iterm
在依次点击(或者直接使用快捷键command+O)Profiles->Open Profiles…,选择一个你的Profiles,我的是⭐️Default,点击Edit Profiles…,在弹出界面选择Text,在界面底部勾选☑️Use a different font for non-ASCII text,选择Change Font,在Family栏下方找到并选定DroidSansMono Nerd Font或者是Hack Nerd Font。退出Profiles界面。

Java代码格式化

2021年3月6日更新详见:
《SpaceVim踩坑之java代码格式化》

-----------------教程结束-----------------


离线安装SpaceVim

https://download.csdn.net/download/lxyoucan/15378222

文件是安装SpaceVim并配置java开发环境以后生成的文件。Java开发相关环境可正常使用,智能提示正常,语法检查正常。

日期:
2021年2月20日

用途:

  • 给第一次配置SpaceVim的朋友一个参考。
  • 对于网络不佳,或者安装SpaceVim报莫名奇妙的错的朋友,直接拿去覆盖相关文件,也许能解决问题。
  • 离线安装SpaceVim使用,有些服务器只能内网使用,而且服务器本身无法上线,可以当离线安装包使用。

如果遇到
Error from LanguageClient: ‘list’ object has no attribute ‘get’
问题,解决办法见:

《macOS使用SpaceVim配置java开发环境爬坑》

参考文献

《Getting started with ctags + Vim on MacOS》

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值