Poor Man’s Visual Studio Cppcheck Integration

Introduction

Cppcheck is a good tool to have in your arsenal. Anything that helps me avoid stupid mistakes is very welcome. The problem is that if you use Visual Studio, you either have to use the separate Cppcheck GUI or pay an arm and a leg for something like Visual Lint. If you want a more convenient way to run Cppcheck on your code, but don't want to shell out $200 for the privilege, there's a fairly easy way to do a simple integration.

This article is a re-post from http://avitebskiy.blogspot.com/2012/10/poor-mans-visual-studio-cppcheck.html

Getting Started

First things first, download the latest version Cppcheck from http://cppcheck.sourceforge.net/ and install it. This will give you both the command line version and the GUI version of Cppcheck.

Create a Visual Studio External Tool

In Visual Studio, open menu Tools→External Tools...

  • Click the Add button
  • Set the Title, for example Cppcheck
  • Set Command to C:\Program Files (x86)\Cppcheck\cppcheck.exe
  • Set Arguments to --quiet --verbose --template=vs $(ItemPath)
  • Set Initial Directory to $(ItemDir)
  • Make sure Use Output window checkbox is enabled
  • Click on the Move Up button repeatedly until your entry is at the top of the list, this will make it easier to identify you new command as you can count on it being called Tools.ExternalCommand1
  • Click OK.

Voila!  You now have a Cppcheck entry in your Tools menu:

 

Use the Tool

You can now use select the Cppcheck menu entry any time you want to run Cppcheck on a file.  The cool thing about the --template=vs switch is that you can click on a Cppcheck error and Visual Studio will automatically take you to that line of code:

Automate Cppcheck to Run on File Save

Now that we have created a command to run Cppcheck, we can have it run automatically after a file save:

  • Go to menu ToolsMacrosMacros IDE, this will bring up a the Macros IDE
  • On the left hand side there should be a Project Explorer panel
  • In the Project Explorer panel, double click on EnvironmentEvents module
  • Insert the following code in the module:
Private Sub DocumentEvents_DocumentSaved(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentSaved
    If Document.Language = "C/C++" Then
        DTE.ExecuteCommand("Tools.ExternalCommand1")
        Document.Activate()
    End If
End Sub
  • Now save the module, close the Macros IDE, and you're good to go

http://www.codeproject.com/Tips/472065/Poor-Man-s-Visual-Studio-Cppcheck-Integration

按照如上链接设置后,发现神马都输出不了。经过研究把Arguments改为如下格式即可:

cppcheck --quiet --verbose --enable=all --template=vs --std=c++11 $(ItemPath)

原因应该是缺少了 -enable=all 应该是cppcheck新版本新加的功能。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值