参考 VScode Spring Boot 插件, 将它的部分功能集成到 Neovim
中。
Spring
注解的 Bean
。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", -- 可选
},
}
spring-boot.nvim
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
详细配置参考nvim-jdtls项目
local jdtls_config = {
bundles = {}
}
-- 添加 spring-boot jdtls 扩展 jar 包
vim.list_extend(jdtls_config.bundles, require("spring_boot").java_extensions())
nvim-lspconfig
require('spring_boot').init_lsp_commands()
require("lspconfig").jdtls.setup {
init_options = {
bundles = require("spring_boot").java_extensions(),
},
}
Spring
注解的 Bean
。
:FzfLua lsp_live_workspace_symbols