栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

vscode使用clangd开发c++,实现自动补全功能

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

vscode使用clangd开发c++,实现自动补全功能

安装
  • 在vscode中安装clangd插件,如图所示安装插件,Enable插件clangd;如果之前安装过C/C++插件的,需要将Disable插件C/C++

  • 在命令行安装clang、clangd-10、Clang-Format
$ sudo apt-get install clang
$ sudo apt-get install clangd-10
$ sudo apt-get install clang-format
设置

创建Cmake工程,文件目录如下:

.
├── CMakeLists.txt
└── src
    └── main.cpp

文件CmakeLists.txt添加以下内容,将CMAKE_EXPORT_COMPILE_COMMANDS设置为ON:

cmake_minimum_required(VERSION 3.5.1)
project(clangd_test)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

find_package(Eigen3 REQUIRED)
find_package(OpenCV REQUIRED)

include_directories(${EIGEN3_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS})

add_executable(clangd_test src/main.cpp)
target_link_libraries(clangd_test ${OpenCV_LIBRARIES})

文件main.cpp添加以下内容:

#include 
#include 
#include "opencv2/core.hpp"

int main(int argc, char** argv) {
    printf("Hello, World!n");

    Eigen::MatrixXd mat(2,2);
    std::cout << mat << std::endl;

    cv::Mat img(2,2,CV_8UC3,cv::Scalar(0,0,255));
    std::cout << img << std::endl;

    return 0;
}

使用vscode打开该工程,设置clangd。点击左上角菜单栏File->Preferences->Settings,选择Workspace选项卡,在Extensions扩展那里找到clangd,在"Clangd:Arguments"那里点击"Add Item",增加如下三个选项:

"--compile-commands-dir=${workspaceFolder}/build",
"--query-driver=/usr/bin/clang,/usr/bin/c++",
"--header-insertion=never"


设置成功后会在”.vscode/settings.json“看到设置内容

编译测试

使用cmake和make命令编译,然后重启vscode

mkdir -p build
cd build
cmake ..
make

按下键盘的ctrl + 鼠标点击,可以跳转到相应的头文件,数据类型的定义等;
输入"变量名.“或者"指针->”,可以自动补全变量的成员函数和成员变量等;

use clangd in c++

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/889512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号