关于vscode的代码提示补全效果如下图所示
解决办法:更改了.vscode文件下的c_cpp_properties.json文件,这个文件是代码的编译配置文件。
下面是有代码补齐,c_cpp_properties.json文件配置,代码配置如下所示
{
"configurations": [
{
"browse": {
"databaseFilename": "",
"limitSymbolsToIncludedHeaders": false
},
"includePath": [
"/opt/ros/noetic/include/**",
"/home/dfew/桌面/DEMO0729_WS_AGAIN/devel/include/**",
"/home/dfew/桌面/DEMO0729_WS_AGAIN/src/plumbing_param_set/include/**",
"/home/dfew/桌面/DEMO0729_WS_AGAIN/src/plumbing_server/include/**",
"/home/dfew/桌面/DEMO0729_WS_AGAIN/src/plumbing_sub_pub/include/**",
"/usr/include/**"
],
"name": "ROS",
"intelliSenseMode": "gcc-x64",
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu17",
"cppStandard": "c++11"
}
],
"version": 4
}
这里主要是修改了"cppStandard": "c++11"这一行,将c++17改成了c++11,分析原因可能是ROS-Noetic的语言不是c++17,但是查询后发现ROS-Noetic的c++语言版本为C++14,所以虽然问题解决了,但是问题的原因我还没有弄清楚。关于代码提示建议由个小技巧,按住ctrl+space键会出现建议提示。最后,关于VScode的c++版本是c++11还是c++17都不影响最终编译的结果,只是在代码学习过程中能方便些,而且不同版本的c++还会存在一定的麻烦,这需要我们进一步去甄别!
ROS不同版本的相关平台配置