参考 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, })
详细配置参考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(),
},
}