java+emacs现在该是什么姿势?

spacemaces 的配置完全看不懂啊。。。。能看懂啥功能,但是那些spacemacs//前缀和啥啥函数。我只能感叹下现在玩spacemacs的人真是厉害。

1 个赞

sapcemacs 需要会 vim 才行

spacemacs的封装确实也挺复杂的,当初就是不知道spacemacs到底都干了啥所以决定自己从头开始配的

这个原始的配置应该也可以吧? 你是这个配置没有走通?

我试了一下,lsp-intellij 是启动了,也能检查到错误,但无法补全:

23_PM

不知是不是因为这个 demo 项目(从 https://start.spring.io/ 下载)的缘故。因为它不包含 *.idea 文件,所以我在项目顶层 touch .fake.idea 建了一个假的,骗 lps-intellij 启动。

必须吐槽一下:需要启动 IDE 图形界面才能使用 lsp-intellij,没有命令行模式。

  • macOS 10.11.6
  • Emacs 27.0.50
  • IntelliJ IDEA CE 2018.2.5,182.4892.20

Spacemacs, Ubuntu, macOS,这些似乎已经是为了新手友好和开箱即用而过度封装的典范了……

lsp-intellij用着很舒服

我也觉得启动IDE后,才能使用, 这个真是… 我现在基本转战meghanada, 比较顺手. 需要debug等, 我再转入到intellij本身. lsp-java/python/c++, 我这边都没有搭建起来. 尽管后者看起来是条光明的路.

1 个赞

不过, 我在读spacemacs的文档, 还算是能明白在做什么. 我这种新手, 就想能不能争取站在spacemacs这样的肩膀上, 暂时没有太多精力自己去搞一份配置.

是的,当时没有走通,不知道卡在哪一步了。现在再试一下。

Spacemaces 是真的过度封装了,反而不容易配置。我以前用Vim,都没这么麻烦。后来才转的Emacs。

lsp-java, 和 lsp-python 我都可以用的。

我前面试用 lsp-intellij 其实内置类型和当前文件定义的 class 是可以补全的,但是第三方无法导入,即使命令 ./gradlew build --scan 执行成功。

刚才又在 IDE 端重新下载了一遍依赖包,然后就可以补齐了,import 语句也不报错了。

emacs-lsp-intellij-1

难道命令行 gradle 把包下载到不同的路径下?

@songpeng 我使用过 c/c++ & go & dart & python & js & typescript 都能补全,还有个半残php不知进展如何,现在 java 也算是能用了。

你好,你这种配置有配置步骤吗?

lsp-java 已经非常好配置了,按照readme安装,然后额外装个server就好了。
eclipse.jdt.ls下载下来并解压到 ~/eclipse.jdt.ls/server/ (地方随便的)
然后设置下server路径就好了:

(setq
 lsp-java-server-install-dir (expand-file-name "~/eclipse.jdt.ls/server/")
 lsp-java-workspace-dir (expand-file-name "~/eclipse.jdt.ls/workspace/"))
2 个赞

你好,~/eclipse.jdt.ls/server/ ~/eclipse.jdt.ls/workspace/ 下面的server 和 workspace是自己建立的吗?

自己建的呀,哪里舒服放哪里,只要variable设置好就可以了,你server下载不对吧,我解压出来是这样的 image

是在这里下的吗?

我是下这个,不知道对不对

对的呀 image