安装

  • 在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 <iostream>
#include <Eigen/Dense>
#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++

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐