基于VSCode+clangd插件打造高效C++开发环境之五:VS Code中使用cpplint、cppcheck等静态检查工具

【关注我,后续持续新增专题博文,谢谢!!!】

上一篇我们讲了基于VSCode+clangd插件打造高效C++开发环境之四:clangd配置

        这一篇我们开始讲 基于VSCode+clangd插件打造高效C++开发环境之五:VS Code中使用cpplint、cppcheck等静态检查工具

目录

【关注我,后续持续新增专题博文,谢谢!!!】

一、背景

二、:VS Code中使用cpplint、cppcheck等静态检查工具

    2.1:安装cpplint

    2.2 :安装cpp-check-lint

    2.3 :使用

    2.4 :好用的插件

   

【关注我,后续持续新增专题博文,谢谢!!!】


一、背景

         .除了clangd内嵌的clang-tidy外,VS Code可以通过安装扩展接入其他的静态检查工具,如cpplint、cppcheck,以下介绍通过cpp-check-lint扩展使用cpplint(该扩展同时支持cppcheck和cpplint两个检查工具,cppcheck同理,不赘述)。

二、:VS Code中使用cpplint、cppcheck等静态检查工具

    2.1:安装cpplint

安装cpplint参考cpplint/cpplint: Static code checker for C++ (github.com),可直接下载所需版本的cpplint.py文件,然后上传到服务器上:
赋可执行权限:
chmod +x cpplint.py
检查是否可用:
./cpplint.py --version
正常应能打出版本信息:

    2.2 :安装cpp-check-lint

安装cpp-check-lint扩展:

更改配置项cpp-check-lint.cpplint.--executable,将cpplint可执行文件路径更改为上面下载的cpplint.py文件的路径,如:

注意:1. 此处路径应更改为cpplint.py的实际路径;2. cpp-check-lint扩展支持cppcheck和cpplint两个检查工具,这里注意要设置cpplint的。

    2.3 :使用

在需要检查的文件(或目录)点击右键,选择cpplint-file(cpplint-dir),即可触发检查:

(另外,cpplint-cmd可以清除检查结果)
 

问题排查:
点击检查后如果没有效果,请检查,cpplint的输出:

如果出现以下错误,请把pylint.py脚本的换行符从CRLF改为LF即可:
/usr/bin/env: ‘python\r’: No such file or directory

    2.4 :好用的插件

One Dark Pro 好用的主题
Bracket Pair Colorizer 彩色() 过时插件,此功能VS Code已自带,通过配置项editor.bracketPairColorization.enabled开启
Git Graph
Git History
GitLens
Partial Diff  文件比较
Trailing Spaces 多余空格check 
indent-rainbow 彩色缩进
Bookmarks 遇到关键代码可以添加书签
没时间,待补充。。。

补充:VS Code之外


1、clangd与其他编辑器/IDE的搭配
LSP(Language Server Protocol)是最近几年微软给编辑器行业带来的巨大变革,许多轻量代码编辑器在LSP的加持下也能获得以往只有IDE能支持的代码编辑体验。
前面介绍说到clangd是一个C/C++语言的基于LSP的语言服务器实现,而LSP目前也被众多知名编辑器/IDE(或其插件)所支持,如vim、neovim、Emacs、Qt Creator、Sublime Text、CLion等,使用它们搭配clangd也可以获得类似上述VS Code的使用效果。如neovim + clangd:


2、compile_commands.json的其他用途
compile_commands.json虽然由LLVM项目设计供libclang/clangd使用,但目前也被众多三方工具所支持,用于编译参数配置。如VS Code官方的C/C++扩展(vscode-cpptools,前面提示不要安装的那个)、可视化的代码阅读工具——Sourcetrail、代码阅读分析工具Scitools Understand(商业软件)等也都支持读取compile_commands.json来配置项目。如Sourcetrail:


3、生成compile_commands.json的其他方式
Bear: Bear is a tool that generates a compilation database for clang tooling.
参考的使用方式:
bear ./prebuilts/build-tools/linux-x86/bin/ninja -f out/combined-hal_mgvi_64_armv82.ninja hal_images

   

【关注我,后续持续新增专题博文,谢谢!!!】

下一篇讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起搞IT吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值