参考 VScode Spring Boot 插件, 将它的部分功能集成到 Neovim
中。
- 查找使用了
Spring
注解的Bean
。 - 查找 Web Endpoints。
-
application.properties
,application.yml
文件补全提示, 以及跳转。 -
Spring
注解依赖提示补全。 -
Code Action
。
lazy.nvim
{ "JavaHello/spring-boot.nvim", ft = "java", dependencies = { "mfussenegger/nvim-jdtls", -- or nvim-java, nvim-lspconfig "ibhagwan/fzf-lua", -- 可选 }, init = function() 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", "sts-gradle-tooling.jar", }, } end, config = function() 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, } end, },
- Visual Studio Code 中安装VScode Spring Boot(可选的)
详细配置参考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()
-- 添加 spring-boot jdtls 扩展 jar 包
require("lspconfig").jdtls.setup {
init_options = {
bundles = require("spring_boot").java_extensions(),
},
}