参考 VScode Spring Boot 插件, 将它的部分功能集成到 Neovim
中。
- 查找使用了
Spring
注解的Bean
。 - 查找 Web Endpoints。
-
application.properties
,application.yml
文件补全提示, 以及跳转。 - 代码片段补全。
-
Code Action
。
部分功能可能不完整,欢迎提交 PR。
lazy.nvim
{ "JavaHello/spring-boot.nvim", ft = "java", dependencies = { "mfussenegger/nvim-jdtls", -- or nvim-java, nvim-lspconfig "ibhagwan/fzf-lua", -- 可选 }, }
- Visual Studio Code 中安装VScode Spring Boot(可选的)
require('spring_boot').setup({})
- 默认配置
vim.g.spring_boot = { jdt_extensions_path = nil, -- 默认使用 ~/.vscode/extensions/vmware.vscode-spring-boot-x.xx.x jdt_extensions_jars = { "io.projectreactor.reactor-core.jar", "org.reactivestreams.reactive-streams.jar", "jdt-ls-commons.jar", "jdt-ls-extension.jar", }, } require('spring_boot').setup({ ls_path = nil, -- 默认使用 ~/.vscode/extensions/vmware.vscode-spring-boot-x.xx.x jdtls_name = "jdtls", log_file = nil, java_cmd = nil, })
详细配置参考nvim-jdtls项目
local jdtls_config = {
bundles = {}
}
-- 添加 spring-boot jdtls 扩展 jar 包
vim.list_extend(jdtls_config.bundles, require("spring_boot").java_extensions())
require('spring_boot').init_lsp_commands()
require("lspconfig").jdtls.setup {
init_options = {
bundles = require("spring_boot").java_extensions(),
},
}