背景
- 利用原生的vscdoe c/c++插件在智能提示方面并不完善,因此想通过clangd插件来完善
问题
1) 主要在linux上编译,操作vscode在windows上,因此利用了vscode remote ssh功能,需要开通免密登陆
答: 网上有很多文章来指导免密登陆,简单来说就是把公钥拷贝到服务器上,然后注意服务器文件和文件夹的权限修改,另外要注意windows上保存公钥的路径。
2) clangd运行依赖高版本的glibc,否则会提示GLIBC_2.18 not found , 公司主要是centos7系统,不能随便升级glibc库,否则可能存在一些致命问题
答:通过安装容器来解决,我这里安装了centos8的容器来解决,如果网络不通,公司一般有自己的私有仓库来下载镜像,另外centos8的yum源需要修改,参考https://help.aliyun.com/document_detail/405635.html 或者https://developer.aliyun.com/mirror/centos/ 这里要把无关的repo移走,否则会有影响。 这里使用centos8,然而centos8未来并不稳定,可以替换为ubuntu之类。
- vscode 第一次ssh到远程会卡住,显示一直在copying
答:这里是在下载文件,参考https://blog.csdn.net/weixin_43843402/article/details/123190417
- clangd插件不起作用
答: 首先要配置clangd的路径;其次要生成compile_command.json并通过clangd参数设置进去,--compile-commands-dir=${workspaceFolder}/build/(参考https://blog.csdn.net/zxlin_/article/details/122414887); 另外检查gcc gcc-c++是否安装,否则一些常规的库没有提示;
- 非cmake项目如何生成compile_command.json
答: 参考https://edward852.github.io/post/%E7%94%9F%E6%88%90compile_commands.json%E6%96%87%E4%BB%B6/
- centos8编译并不能在centos7上使用
答: 可以通过docker共享文件夹来操作,也就是在centos8上操作vscode来编辑代码,在centos7上编译
- 启动sshd报错“host is down”
答:参考https://blog.csdn.net/zhangyuhaifa/article/details/119756642
网友评论