目前在开发一个c++/cuda项目。由于项目编译的依赖项太多,本机编译十分麻烦,我拉了一个docker,并将项目源码所在路径挂载到docker上。编译生成的compile_commands.json
使用的是docker内的路径,请问此时如何为项目提供lsp支持呢?
lsp-docker的docker over tramp看起来十分符合我的需求,然而还在开发中。
docker tramp看起来也是一个可行的方案,不过简单尝试了一下,还没有让lsp正常工作起来。
请问大家有什么推荐的解决方案吗?
ksqsf
2
在 builder container 里装好 lsp server ,然后应该可以通过 tramp 连上去。
3 个赞
我直接把路径 prefix 改了,绝大部分 LSP 功能是正常的,可能有小部分 lib 和 docker 不一样不正常,但我觉得不影响
最终通过docker-tramp和lsp remote解决了这个问题:
- 安装docker-tramp
- 使用docker-tramp将docker中的项目添加到lsp的workspace中
- 在docker中安装language server
- 根据Remote - LSP Mode - LSP support for Emacs ,注册docker中的language server
最后直接在lsp中打开docker内的项目,就可以正常使用lsp了。
1 个赞