hi, 各位emacs 道友们好? 最近我在用 lsp-java 来coding java代码,当要下载jdtls 服务时一直下载不了,无奈看了一下lsp-java.el 代码。其中有句代码是:(defvar lsp-java–download-root “https://raw.githubusercontent.com/emacs-lsp/lsp-java/master/install/”) 。这会在运行lsp-install-server的时候,从这里下载,不管在linux 和 mac 上都会超时,使用vpn也解决不了问题,把上面的网址用浏览器访问也无法访问,请问各位是怎么解决的?
到这里下载
我也折腾了好久,最后是自己下载自己build的
https://github.com/eclipse/eclipse.jdt.ls
感觉好复杂啊,emacs 如何导入使用呢?
可以用环境变量设置下代理:
MAVEN_OPTS="-DsocksProxyHost=yourProxyIP -DsocksProxyPort=yourProxyPort"
这样就可以顺利下载了
把这个文件进行解压,放到一个你喜欢的位置,假设这个位置是 ~/.emacs
配置 lsp-java-server-install-dir
这个变量
(setq lsp-java-server-install-dir
"~/.emacs/jdt-language-server-latest/")
对了,记得保证这个变量在 lsp 启动前配置好
个人的配置,仅供参考
(use-package lsp-java
:defer t
:init
(setq lsp-java-server-install-dir
"~/backups/src/jdt-language-server-latest/")
:hook (java-mode . (lambda ()
(require 'lsp-java)
(lsp-common-set))))
(defun lsp-common-set ()
(use-package lsp-ui
:config
(setq lsp-ui-doc-enable nil)
(setq lsp-ui-sideline-enable nil)
(define-key lsp-ui-mode-map [remap xref-find-references]
#'lsp-ui-peek-find-references))
(lsp)
(setq-local company-backends
'((company-yasnippet company-capf)
company-dabbrev-code company-dabbrev
company-files))
(setq lsp-completion-styles '(basic))
(define-key lsp-mode-map (kbd "S-<f2>") #'lsp-rename)
(define-key lsp-mode-map (kbd "M-.") #'xref-find-definitions)
(define-key lsp-mode-map (kbd "C-h .") #'lsp-describe-thing-at-point)
(define-key lsp-mode-map (kbd "s-l") nil)
(setq abbrev-mode nil))
弄好了,谢谢哈!
这种方法最好,下次可以很容易手动更新。
hi, 你好,问一下你有没有用 dap-mode 做 java 的 debugger 呢?配制是什么样的啊,贴出来学习一个。我这边一直显示 No delegateCommandHandle for vscode.java.resolveMainClass? 这坑真是一年接一下!或者把你的配制发出来,我学习一下哦!
我没有用 dap-mode,这个现在怎么样?成熟了吗?
现在我看很多人都在用呢?你用的是哪个做 jdb 还是 gdb 做调试的啊?分享一下看看呗。
额,真的没配啊,java 的话我只是用 emacs来写一些小程序,调试我都是用的 Eclipse。
我 Emacs 主要用途是用来写 C, 汇编,Scheme,Common lisp,org 之类的。
这里主要是我 Emacs 中编程相关的所有配置 https://github.com/zerolee/.emacs.d/blob/master/Configurations/programs.el
好的谢谢啊!写的也有值得我学习的地方啊
客气了,能帮到你就好。
大佬们 ,你们在使用lsp-java 的时候有啥方式提升性能的吗? 自动提示,还有 dapmode 的时候感觉都很慢 有啥方式可以优化一下的吗?
可以将maven 替换为mvnd试试,还有就是换M1 mac试试记得下载arm架构的jdk
我调过几次配置,感觉目前这版的补全体验还能接受。
- 根据lsp-mode performance进行优化
- 调整了company-minimum-prefix-length, 3的体验好一些,不然在我这边会很卡。
(setq-local company-idle-delay 0.2)
(setq-local company-minimum-prefix-length 3)
目前仅在比较小的spring boot项目试过,体验还可以。
可以参考下我的配置
你们在使用 通过 go-to-implements 进入编译的代码的时候 乱码吗? 有没有解决的?