macOS中SpaceVim搭建java开发环境

2023-05-16

安装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》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

macOS中SpaceVim搭建java开发环境 的相关文章

  • OpenCore制作EFI常用下载地址集合

    目录 前言必备OpenCoreHfsPlus efi下载必备KextsVirtualSMCLiluWhateverGreen 常用KextsUSBInjectAllAppleALCVoodooHDAWireless USB OC Big S
  • 联想拯救者14实现快捷键调屏幕亮度

    前言 我的EFI制作完成后 xff0c 快捷键调节声音大小的功能默认就支持 xff0c 但是快捷键调整亮度就不支持了 快捷键调节亮度这样的需求对我来话基本是可有可无 因为鼠标简单点点就可以调节亮度了 Big Sur调节亮度真的方便 xff0
  • Spring boot 与react单页应用部署在一个jar中

    前言 现在的应用开发越来越多的都是前后端分离的项目 比较常见的部署方法是使用nginx 部署 xff0c 日常项目中我也是用的 nginx 最近在开发一个非常小的项目 xff0c 想实现傻瓜式一键部署 43 运行的效果 xff0c 显然使用
  • 笔记本电脑Haswell黑苹果opencore睡眠实战

    前言 我的型号 xff1a 联想 xff08 Lenovo xff09 拯救者 14 0英寸游戏本 xff08 i7 4720HQ 8G 128G SSD 43 1T GTX960M 笔记本电脑Haswell平台的应该是类似的 完整版EFI
  • 拯救者14OpenCore0.6.8黑苹果Big Sur 2021年4月12日

    型号 xff1a 联想 xff08 Lenovo xff09 拯救者 14 0英寸游戏本 xff08 i7 4720HQ 8G 128G SSD 43 1T GTX960M 原配置如上 后来又加了根内存 xff0c 机械盘换成了ssd 特色
  • OpenCore黑苹果之拯救者14(HD4600)开启HDMI音频

    一般外接显示器用不到HDMI音频 xff0c 但是回家外接电视机有点用 我的型号 xff1a 联想 xff08 Lenovo xff09 拯救者 14 0英寸游戏本 xff08 i7 4720HQ 8G 128G SSD 43 1T GTX
  • OpenCore默认安装界面改成中文

    NVRAM Add 7C436110 AB2A 4BBB A880 FE41995C9F82 prev lang kbd lt 0x7a682d48616e733a323532 gt 将默认语言设置为简体中文 留空为英文 Rest NVRA
  • OpenCore安装黑苹果有感

    这里只讨论自己制作EFI的情况 xff0c 直接能从网上找到相同配置的EFI xff0c 安装黑苹果跟普通安装Windows差不多简单 最近终于把EFI折腾的基本完美了 xff0c 有感而发 声卡 xff0c 显卡 xff0c 键鼠 xff
  • 解决重写FragmentTabHost后,屏幕切换时Fragment显示空白的问题

    问题背景 xff1a 公司的App首页架构采用了FragmentTabHost 43 Fragment的结构 之前为了解决每次切换 tab 时 xff0c Fragment不重新加载的问题 xff0c 重写了FragmentTabHost类
  • OpenCore启动项打开Windows无法正常启动

    前言 安装黑苹果的小伙伴应该大部分都是玩双系统的吧 现在我用macOS多一些 xff0c 但是有时还是会简单用一下Windows的 Big Sur安装好后 xff0c 基本不用Windows了 xff0c 今天突然就发现Windows进不去
  • OpenCore机型设置(三码设置)备份转移

    有小伙伴想要把自己的三码保存下来 xff0c 更新EFI以后用自己的三码 方法一 xff1a OOC配置 最简单的图形化操作 xff0c 可以使用 OOC来配置 xff0c 具体的操作方法可以参考 xff1a https blog csdn
  • OpenCore启动项中无Install macOS Big Sur 的解决办法

    现象 最近遇到个问题 xff0c 有小伙伴跟我说 xff0c 用我的最新版本0 6 4的EFI没有Install macOS Big Sur项目 但是用老版的0 6 3的是可以正常安装的 我就很纳闷了 xff0c 自己觉得不可能 故障展示
  • OpenCore电池显示正在充电:1% 建议维修

    现象 电池显示正在充电 xff1a 1 状态栏显示 xff1a 建议维修 本来电池一直是显示正常的 xff0c 电量和充电状态都正常 升级 Big Sur 11 1 20C69 后 某天因为停电 xff0c 使用电池用了1个多小时 xff0
  • OpenCore黑苹果蓝牙能识别但是搜索不到设备

    问题描述 蓝牙正常驱动了 xff0c 在设置中已经有显示了 xff0c 如下 xff1a 但是怎么搜索都无法搜索到设备 其他设备也无法搜索到它 很奇怪啊 xff0c 之前明明是好好的啊 我在想是不是我的kexts版本比较旧导致的啊 最终发现
  • 黑苹果安装完以后的优化

    黑苹果安装完以后的优化 xff0c 可选的 xff0c 不一定对所有人有用 收藏备用 Misc after install Enable HiDPI span class token function bash span c span cl
  • OpenCore关闭开启macOS SIP

    SIP 全称为 System Integrity Protection 即 系统完整性保护 xff0c 是 OS X El Capitan 时开始采用的一项安全技术 xff0c SIP 将一些文件目录和系统应用保护了起来 但这会影响我们一些
  • macOS调整分辨率与HiDPI

    调整分辨率神器RDM 分辨率随便调甚至1080p的屏幕能用 2K甚至 4K的分辨率 xff0c 太神奇了带闪电 图标的就相当于调整HiDPI xff0c 图标和字体显示低分辨率的大小 xff0c 但是很清楚 这个让我惊呆了的神器 RDM主页
  • 禁止OpenCore修改电脑启动顺序

    大家有没有遇到这样的情况 xff0c 自己调整好的电脑启动顺序 xff0c 比如 xff1a 优化从U盘启动之类的操作 xff0c 老是被OpenCore自动修改顺序 因为这个问题我在调试的时候形成了一个习惯 xff0c 每次都要按F12来
  • Appstore下载Big Sur并使用U盘制作黑苹果系统安装盘

    就以目前最新的macOS Big Sur 11 1版本为例 方式一 xff1a 黑果小兵镜像下载 推荐 本人一直用这种方式 xff0c 使用简单方便 xff0c 极力推荐 感谢黑果小兵一直以来给大家提供的便利 黑果小兵的部落阁 xff1a
  • Unity中使用暴风魔镜进行VR游戏开发

    64 VR简介 虚拟现实VR Virtual Reality 和增强现实AR Argument Reality 的概念其实在很多年前就已经出现 xff0c 2015年下半年开始变得火热 xff0c 在各大媒体圈子中频繁出现 xff0c 而今

随机推荐

  • (暂未成功)论在U盘中安装黑苹果(macOS Big Sur)的可行性

    突发奇想 xff0c 如果能把黑苹果安装到U盘里 xff08 或者移动硬盘里 xff09 我是不是带着不同的EFI就可以在不同的电脑上用我的macOS了呢 xff1f 一个移动设备就可以带走我的系统和数据啦 试想一下 xff1a 下班带一个
  • 五笔中三个字的词组打法

    三个字的词组五笔打法是 xff1a 前两个字每个取头一个字根 xff0c 第三个字取头两个字根 xff0c 组成四个字根 xff0c 就可以输出这三个字的词组 参考 xff1a http www 360doc com content 18
  • Android手机运行图形界面的LINUX环境

    刚开始在我废弃在Android手机上运行 spring boot 我已经惊呆了 文章见 xff1a 树莓派 xff1f 云服务器 xff1f 小主机 xff1f 旧手机使用Termux安卓手机中跑Java跑spring boot不香吗 xf
  • 冬天的如何避免静电

    小时候喜欢折腾各种家电 xff0c 也没少挨电过 能活到现在真是庆幸 有一次差点被电死的经历 xff0c 从此以后对电有来自灵魂的恐惧 x1f631 xff0c 现在甚至静电都怕 家乡被电还有一个说法 xff1a 被电打到了 那种感觉真的像
  • Thymeleaf + Spring传参到Javascript

    自从使用前后端分离开发后 xff0c 几乎不使用Thymeleaf了 xff0c 忘记的差不多啦 传参到Javascript的实现还折腾了一小会 xff0c 还是记录一下吧 下面以传参 btData到js的变量里为例 Controller
  • 2021年CentOS7安装Oracle11g全记录

    文章目录 环境信息下载相关准备工作创建用户图形化CentOS7搭建VNC服务安装必备软件并配置防火墙放行VNC端口VNC 连接VNC远程 安装oracle安装中文字体解决中文乱码问题解压安装包修复先决条件检查Swap分区设置 xff08 若
  • Centos7安装和配置VNC服务器 - Xfce篇

    文章目录 VNC简介安装TigerVNC防火墙设置安装图形用户界面 xff08 GUI xff09 Xfce修改配置文件VNC 客户端连接关闭VNC服务删除Xfce参考文档 如果你图形界面使用GNOME xff0c 看这里 xff1a Ce
  • Centos7安装和配置VNC服务器 - openbox篇

    文章目录 VNC简介安装TigerVNC防火墙设置安装图形用户界面 xff08 GUI xff09 openbox配置openbox自启动文件lightdm 修改配置文件VNC 客户端连接关闭VNC服务参考文档 如果你图形界面使用GNOME
  • 黑苹果(OpenCore)踩坑之安装系统正常重启以后无法进入系统#[EB|WL] 0 0 0x01 0x0B 20 0x0E

    文章目录 前言现象思考与排错过程最终解决办法总结 前言 今天帮一个网友安装黑苹果 xff0c 他的机型跟我的完全一样 xff0c 用的是同样的EFI 然而还是遇到问题了 这个问题很不科学 xff0c 从下午5点多一直折腾到现在晚上 11点多
  • 2021年强迫症福音CentOS7零警告安装Oracle11g

    目录 前言环境信息准备工作一键安装和配置VNC图形化相关创建用户开启 VNC服务客户端连接VNC实现远程控制安装oracle安装程序依赖程序包安装中文字体解决中文乱码问题上传并解压安装包 安装oracle实战oracle用户登录vnc远程桌
  • [Maven学习笔记八]Maven常用插件应用

    常用插件及其用法位于 xff1a http maven apache org plugins 1 Jetty server plugin 2 Dependency copy plugin 3 Surefire Test plugin 4 U
  • oracle11整库导出导入

    DIRECTORY 首次需要创建 xff0c 一劳永逸 xff01 使用EXPDP工具时 其转储文件只能被存放在DIRECTORY对象对应的OS目录中 而不能直接指定转储文件所在的OS目录 因此 使用EXPDP工具时 必须首先建立DIREC
  • 腾讯大王卡免流手机投屏电视看春晚

    前言 过年回老家了 xff0c 因为我不在家的时候宽带使用频率很低 xff0c 老家的宽带到期就没有续啦 没有网家里的电视就是摆设啦 为了除夕能大家在电视上看春晚 xff0c 这篇文章就来了 虽然没有家庭宽带 xff0c 但是大家现在的手机
  • CentOS7安装ZSH终端

    安装zsh和git git用于pull代码 yum span class token function install span y zsh span class token function git span 切换使用zsh 查 zsh位
  • CentOS7离线安装Oh My ZSH

    前言 Oh My ZSH真香 xff0c 我一开始是在macOS中使用 xff0c 使用习惯了ssh远程我的服务器反而不习惯了 毕竟从奢入俭难 那么如何在CentOS中安装Oh My ZSH呢 xff1f 网上教程挺多的 xff0c 但是我
  • CentOS7安装Oh My ZSH解决raw.github.com访问不畅

    前言 Oh My ZSH真香 xff0c 我一开始是在macOS中使用 xff0c 使用习惯了ssh远程我的服务器反而不习惯了 毕竟从奢入俭难 那么如何在CentOS中安装Oh My ZSH呢 xff1f 网上教程挺多的 xff0c 但是我
  • 玩转手机中的linux系统termux并搭建java开发环境

    目标 春节在家 xff0c 偶尔要出门在外 出门在外的时候 xff0c 没有电脑可以写代码 那么代码瘾上来了怎么办呢 xff1f 我在想能不能在手机上写代码呢 xff1f 手机远程电脑是一种方式 xff0c 但是远程开发这种方式 xff0c
  • ubuntu安装zsh

    更新一下 apt span class token operator span get update 安装zsh apt span class token operator span get install zsh 切换使用zsh 查 zs
  • macOS使用SpaceVim配置java开发环境爬坑

    我在ubuntu中配置SpaceVim开发环境 xff0c 还算顺利 但是在macOS下面搭建java的环境时却遇到点小坑 报错网上貌似也没有搜索到 配置java开发环境时报错 报错信息的一部分 xff1a Error from Langu
  • macOS中SpaceVim搭建java开发环境

    安装JDK11 过程略 xff0c 可参考 xff1a https blog csdn net lxyoucan article details 111120215 macOS安装支持Python 3的neovim 为什么不用 vim 因为