You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LunarVim无法高亮Solidity语法错误,默认LSP无提示求助

Solidity语法错误实时显示问题排查(LunarVim)

先搞定LSP核心配置

LunarVim的实时语法检查完全依赖Solidity语言服务器(LSP),别乱堆插件,先把这个核心配置捋顺:

  • 安装官方Solidity LSP
    打开LunarVim,输入:LspInstall solidity,安装官方维护的Solidity语言服务器,这是最靠谱的语法检测基础。

  • 确认LSP正常启动
    打开任意.sol文件后,输入:LspInfo,查看服务列表里的solidity状态是否为running。如果没启动,检查你的~/.config/lvim/config.lua:

    • 确保把solidity加入LSP自动配置列表:
      require("lvim.lsp.manager").setup("solidity")
      
    • 检查lvim.lsp.automatic_configuration.skipped_servers里有没有误把solidity排除,有的话删掉。
  • 开启实时诊断显示
    在config.lua里添加或确认以下配置,让错误实时显示在编辑器里:

    vim.diagnostic.config({
      virtual_text = true, -- 行内直接显示错误提示
      signs = true,
      underline = true,
      update_in_insert = true, -- 插入模式下也实时更新诊断
      severity_sort = true,
    })
    

清理冲突插件

之前装的多款Solidity插件大概率互相冲突,直接卸载除了官方LSP之外的所有Solidity相关插件(包括你尝试的VSCode插件),只保留必要的:

  • 如果用Hardhat开发,可保留NomicFoundation/hardhat-nvim,它能关联Hardhat配置,让LSP更适配项目规则,配置示例:
    lvim.plugins = {
      { "NomicFoundation/hardhat-nvim" },
    }
    

匹配项目编译器版本

语法检测和编译器版本强绑定,确保LSP用的版本和项目配置一致。在config.lua里指定版本:

require("lvim.lsp.manager").setup("solidity", {
  settings = {
    solidity = {
      compiler = {
        version = "0.8.20", -- 替换成你项目用的编译器版本
      },
    },
  },
})

验证效果

重启LunarVim后,打开.sol文件故意写个语法错误(比如漏分号、错用关键字),看行内是否弹出红色提示、左侧是否有错误标识。如果还是不行,输入:checkhealth查看LSP模块的健康报告,定位具体报错。

内容的提问来源于stack exchange,提问作者Juan Colchete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:42:16