Neovim 故障排除
在排查 Neovim 的 GitLab 插件问题时,你应该确认该问题是否在其他 Neovim 插件和设置之外仍然存在。首先,运行 Neovim 测试步骤,然后运行 GitLab Duo 代码建议故障排除步骤。
如果本页面的步骤无法解决你的问题,请查看 Neovim 插件项目中的开放问题列表。如果有问题与你的问题匹配,请更新该问题。如果没有匹配的问题,创建一个新问题。
有关 GitLab Duo 代码建议扩展的故障排除,请参阅代码建议故障排除。
测试你的 Neovim 配置
Neovim 插件的维护者经常要求提供这些检查的结果作为故障排除的一部分:
- 确保你已经生成帮助标签。
- 运行
:checkhealth。 - 启用调试日志。
- 尝试在最小化项目中重现问题。
生成帮助标签
如果你看到错误 E149: Sorry, no help for gitlab.txt,你需要在 Neovim 中生成帮助标签。
要解决此问题:
- 运行以下任一命令:
:helptags ALL- 从插件根目录运行
:helptags doc/。
运行 :checkhealth
运行 :checkhealth gitlab* 以获取当前会话配置的诊断信息。
这些检查帮助你自行识别和解决配置问题。
启用调试日志
启用调试日志以捕获更多关于问题的信息。调试日志可能包含敏感的工作区配置,因此在与他人共享之前请检查输出。
要启用额外的日志记录:
-
在当前缓冲区中设置
vim.lsp日志级别::lua vim.lsp.set_log_level('debug')
在最小化项目中重现问题
为了帮助项目维护者理解和解决你的问题,创建一个重现你问题的示例配置或项目。例如,在排查代码建议问题时:
-
创建一个示例项目:
mkdir issue-25 cd issue-25 echo -e "def hello(name)\n\nend" > hello.rb -
创建一个名为
minimal.lua的新文件,内容如下:-- 注意:不要在你的常规配置中设置此日志级别,因为此日志级别 -- 可能包含敏感的工作区配置。 vim.lsp.set_log_level('debug') vim.opt.rtp:append('$HOME/.local/share/nvim/site/pack/gitlab/start/gitlab.vim') vim.cmd('runtime plugin/gitlab.lua') -- gitlab.config 选项覆盖: local minimal_user_options = {} require('gitlab').setup(minimal_user_options) -
在最小化的 Neovim 会话中,编辑
hello.rb:nvim --clean -u minimal.lua hello.rb -
尝试重现你遇到的行为。根据需要调整
minimal.lua或其他项目文件。 -
查看
~/.local/state/nvim/lsp.log中的最新条目并捕获相关输出。 -
删除任何对敏感信息的引用,例如以
glpat-开头的令牌。 -
从任何 Vim 寄存器或日志文件中删除敏感信息。
错误:GCS:unavailable
当你的本地项目在 .git/config 中未设置远程仓库时会发生此错误。
要解决此问题:使用 git remote add 在你的本地项目中添加一个 Git 远程仓库。