【关注我,后续持续新增专题博文,谢谢!!!】
上一篇我们讲了:基于VSCode+clangd插件打造高效C++开发环境之四:clangd配置
这一篇我们开始讲: 基于VSCode+clangd插件打造高效C++开发环境之五:VS Code中使用cpplint、cppcheck等静态检查工具
目录
二、:VS Code中使用cpplint、cppcheck等静态检查工具
一、背景
.除了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
【关注我,后续持续新增专题博文,谢谢!!!】
下一篇讲解: