Checksytle für Visual Studio



  • Hallo,

    ich bin auf der Suche nach einer Möglichkeit zur Überprüfung meines Codes. Am liebsten wäre es mir, wenn das ganze funktionieren würde wie zum Beispiel Eclipse und Checkstyle. Leider blieb meine Suche bisher erfolglos. Kennt ihr ein PlugIn für Visual Studio, welches diese Funktionalität bietet und möglichst Freeware ist?

    Danke



  • Du meinst eine Überprüfung via SAL!?
    Das ist in VS2005 (Team Sutie) schon drin und wird u.a. im PSDK und auch im gesamten CRT/MFC Bereich schön eingesetzt...



  • Leider bin ich "nur" im Besitz der Professional Edition.





  • A Free, Fast and Small Automatic Formatter for C, C++, C#, and Java Source Code:
    http://sourceforge.net/projects/astyle/

    alternativ kannst du dir auch mit CTags aus deinem Source eine Tag Datei erstellen lassen - diese Tag Datei sieht dann etwa so aus:

    EndRendering	ZFXD3D_main.cpp	/^void ZFXD3D::EndRendering(void) {$/;"	f	class:ZFXD3D
    Enum	ZFXD3D_enum.cpp	/^HRESULT ZFXD3DEnum::Enum(HWND hAdapter, HWND hMode,$/;"	f	class:ZFXD3DEnum
    EnumAdapters	ZFXD3D_enum.cpp	/^HRESULT ZFXD3DEnum::EnumAdapters(void) {$/;"	f	class:ZFXD3DEnum
    EnumCombos	ZFXD3D_enum.cpp	/^HRESULT ZFXD3DEnum::EnumCombos(ZFXDEVICEINFO &xDev) {$/;"	f	class:ZFXD3DEnum
    EnumDevices	ZFXD3D_enum.cpp	/^HRESULT ZFXD3DEnum::EnumDevices(ZFXADAPTERINFO &xAdapter) {$/;"	f	class:ZFXD3DEnum
    GetBits	ZFXD3D_enum.cpp	/^UINT ZFXD3DEnum::GetBits(D3DFORMAT fmt) {$/;"	f	class:ZFXD3DEnum
    GetSelectedItem	ZFXD3D_enum.cpp	/^void* GetSelectedItem(HWND hWnd) {$/;"	f
    GetSelections	ZFXD3D_enum.cpp	/^void ZFXD3DEnum::GetSelections(ZFXDEVICEINFO *pD, D3DDISPLAYMODE *dspmd,$/;"	f	class:ZFXD3DEnum
    Go	ZFXD3D_init.cpp	/^HRESULT ZFXD3D::Go(void) {$/;"	f	class:ZFXD3D
    IDC_ADAPTER	resource.h	5;"	d
    IDC_ADAPTERFMT	resource.h	12;"	d
    IDC_BACKFMT	resource.h	13;"	d
    IDC_DEVICE	resource.h	10;"	d
    IDC_FULL	resource.h	7;"	d
    IDC_MODE	resource.h	11;"	d
    IDC_MODES	resource.h	6;"	d
    IDC_REF	resource.h	9;"	d
    IDC_WND	resource.h	8;"	d
    Init	ZFXD3D_init.cpp	/^HRESULT ZFXD3D::Init(HWND hWnd, const HWND *hWnd3D, $/;"	f	class:ZFXD3D
    InitWindowed	ZFXD3D_init.cpp	/^HRESULT ZFXD3D::InitWindowed(HWND hWnd, const HWND *hWnd3D, $/;"	f	class:ZFXD3D
    IsRunning	ZFXD3D.h	/^	bool    IsRunning(void) { return m_bRunning; }$/;"	f	class:ZFXD3D
    Log	ZFXD3D_init.cpp	/^void ZFXD3D::Log(char *chString, ...) {$/;"	f	class:ZFXD3D
    Release	ZFXD3D_init.cpp	/^void ZFXD3D::Release() {$/;"	f	class:ZFXD3D
    ReleaseRenderDevice	ZFXD3D_init.cpp	/^HRESULT ReleaseRenderDevice(ZFXRenderDevice **pDevice) {$/;"	f
    SetClearColor	ZFXD3D_main.cpp	/^void ZFXD3D::SetClearColor(float fRed, float fGreen, float fBlue) {$/;"	f	class:ZFXD3D
    SortModesCallback	ZFXD3D_enum.cpp	/^static int __cdecl SortModesCallback(const void* arg1, const void* arg2) {$/;"	f	file:
    UNICODE	ZFXD3D_enum.cpp	2;"	d	file:
    UNICODE	ZFXD3D_init.cpp	2;"	d	file:
    UNICODE	ZFXD3D_init.cpp	8;"	d	file:
    UseWindow	ZFXD3D_main.cpp	/^HRESULT ZFXD3D::UseWindow(UINT nHwnd) {$/;"	f	class:ZFXD3D
    ZFXADAPTERINFO	ZFXD3D.h	/^struct ZFXADAPTERINFO {$/;"	s
    ZFXCOMBOINFO	ZFXD3D.h	/^struct ZFXCOMBOINFO {$/;"	s
    ZFXD3D	ZFXD3D.h	/^class ZFXD3D : public ZFXRenderDevice {$/;"	c
    ZFXD3D	ZFXD3D_init.cpp	/^ZFXD3D::ZFXD3D(HINSTANCE hDLL) {$/;"	f	class:ZFXD3D
    ZFXD3DEnum	ZFXD3D.h	/^	ZFXD3DEnum(int nMinDepth, int nMinStencil)  $/;"	f	class:ZFXD3DEnum
    ZFXD3DEnum	ZFXD3D.h	/^class ZFXD3DEnum {$/;"	c
    ZFXD3D_H	ZFXD3D.h	3;"	d
    ZFXDEVICEINFO	ZFXD3D.h	/^struct ZFXDEVICEINFO {$/;"	s
    ZFX_CANCELED	ZFX.h	6;"	d
    ZFX_CREATEAPI	ZFX.h	12;"	d
    ZFX_CREATEDEVICE	ZFX.h	13;"	d
    ZFX_FAIL	ZFX.h	9;"	d
    ZFX_FAIL0	ZFX.h	21;"	d
    ZFX_FAIL5	ZFX.h	16;"	d
    ZFX_FAIL6	ZFX.h	17;"	d
    ZFX_FAIL7	ZFX.h	18;"	d
    ZFX_FAIL8	ZFX.h	19;"	d
    ZFX_FAIL9	ZFX.h	20;"	d
    ZFX_FAILa	ZFX.h	22;"	d
    ZFX_FAILb	ZFX.h	23;"	d
    ZFX_FAILc	ZFX.h	24;"	d
    ZFX_FAILd	ZFX.h	25;"	d
    ZFX_INVALIDPARAM	ZFX.h	14;"	d
    ZFX_NODEPTHSTENCIL	ZFX.h	15;"	d
    ZFX_OK	ZFX.h	3;"	d
    _APS_NEXT_COMMAND_VALUE	resource.h	20;"	d
    _APS_NEXT_CONTROL_VALUE	resource.h	21;"	d
    _APS_NEXT_RESOURCE_VALUE	resource.h	19;"	d
    _APS_NEXT_SYMED_VALUE	resource.h	22;"	d
    bWindowed	ZFXD3D.h	/^	bool       bWindowed;            \/\/ windowed mode$/;"	m	struct:ZFXCOMBOINFO
    d3dAdapterIdentifier	ZFXD3D.h	/^	D3DADAPTER_IDENTIFIER9 d3dAdapterIdentifier;$/;"	m	struct:ZFXADAPTERINFO
    d3dCaps	ZFXD3D.h	/^	D3DCAPS9     d3dCaps;         \/\/ capabilites$/;"	m	struct:ZFXDEVICEINFO
    d3dCombo	ZFXD3D.h	/^	ZFXCOMBOINFO d3dCombo[80];    \/\/ combo$/;"	m	struct:ZFXDEVICEINFO
    d3dDevType	ZFXD3D.h	/^	D3DDEVTYPE   d3dDevType;      \/\/ HAL, SW, REF$/;"	m	struct:ZFXDEVICEINFO
    d3dDevType	ZFXD3D.h	/^	D3DDEVTYPE d3dDevType;           \/\/ HAL, SW, REF$/;"	m	struct:ZFXCOMBOINFO
    d3dDevs	ZFXD3D.h	/^	ZFXDEVICEINFO          d3dDevs[3];       \/\/ list of devices$/;"	m	struct:ZFXADAPTERINFO
    d3ddspmd	ZFXD3D.h	/^	D3DDISPLAYMODE         d3ddspmd[150];    \/\/ display modes$/;"	m	struct:ZFXADAPTERINFO
    dwBehavior	ZFXD3D.h	/^	DWORD      dwBehavior;           \/\/ vertex processing$/;"	m	struct:ZFXCOMBOINFO
    fmtAdapter	ZFXD3D.h	/^	D3DFORMAT  fmtAdapter;           \/\/ pixelbuffer$/;"	m	struct:ZFXCOMBOINFO
    fmtBackBuffer	ZFXD3D.h	/^	D3DFORMAT  fmtBackBuffer;        \/\/ backbuffer$/;"	m	struct:ZFXCOMBOINFO
    fmtDepthStencil	ZFXD3D.h	/^	D3DFORMAT  fmtDepthStencil;      \/\/ z\/stencil format$/;"	m	struct:ZFXCOMBOINFO
    g_Dspmd	ZFXD3D_init.cpp	/^D3DDISPLAYMODE g_Dspmd;$/;"	v
    g_ZFXD3D	ZFXD3D_init.cpp	/^ZFXD3D *g_ZFXD3D=NULL;$/;"	v
    g_fmtA	ZFXD3D_init.cpp	/^D3DFORMAT      g_fmtA;$/;"	v
    g_fmtB	ZFXD3D_init.cpp	/^D3DFORMAT      g_fmtB;$/;"	v
    g_fmtBackBuffer	ZFXD3D_enum.cpp	/^const D3DFORMAT g_fmtBackBuffer[] = {$/;"	v
    g_hBMP	ZFXD3D_init.cpp	/^HBITMAP        g_hBMP;$/;"	v
    g_msType	ZFXD3D_enum.cpp	/^const D3DMULTISAMPLE_TYPE g_msType[] = { $/;"	v
    g_nFormats_B	ZFXD3D_enum.cpp	/^const UINT g_nFormats_B=9;$/;"	v
    g_nMS	ZFXD3D_enum.cpp	/^const UINT g_nMS = 8;$/;"	v
    g_xDevice	ZFXD3D_init.cpp	/^ZFXDEVICEINFO  g_xDevice;$/;"	v
    m_ClearColor	ZFXD3D.h	/^	D3DCOLOR              m_ClearColor;$/;"	m	class:ZFXD3D
    m_bIsSceneRunning	ZFXD3D.h	/^	bool                  m_bIsSceneRunning;$/;"	m	class:ZFXD3D
    m_bStencil	ZFXD3D.h	/^	bool                  m_bStencil;$/;"	m	class:ZFXD3D
    m_d3dpp	ZFXD3D.h	/^	D3DPRESENT_PARAMETERS m_d3dpp;$/;"	m	class:ZFXD3D
    m_dspmd	ZFXD3D.h	/^	D3DDISPLAYMODE m_dspmd;    \/\/ current desktop display mode$/;"	m	class:ZFXD3DEnum
    m_dwNumAdapters	ZFXD3D.h	/^	DWORD          m_dwNumAdapters;$/;"	m	class:ZFXD3DEnum
    m_fmtAdapter	ZFXD3D.h	/^	D3DFORMAT m_fmtAdapter[5]; \/\/ list of possible adapter formats$/;"	m	class:ZFXD3DEnum
    m_hADAPTER	ZFXD3D.h	/^	HWND m_hADAPTER;           \/\/ adapter combobox $/;"	m	class:ZFXD3DEnum
    m_hADAPTERFMT	ZFXD3D.h	/^	HWND m_hADAPTERFMT;        \/\/ adapter format combobox$/;"	m	class:ZFXD3DEnum
    m_hBACKFMT	ZFXD3D.h	/^	HWND m_hBACKFMT;           \/\/ backbuffer fmt combobox$/;"	m	class:ZFXD3DEnum
    m_hDEVICE	ZFXD3D.h	/^	HWND m_hDEVICE;            \/\/ device combobox$/;"	m	class:ZFXD3DEnum
    m_hFULL	ZFXD3D.h	/^	HWND m_hFULL;              \/\/ radiobtn fullscreen$/;"	m	class:ZFXD3DEnum
    m_hMODE	ZFXD3D.h	/^	HWND m_hMODE;              \/\/ mode combobox$/;"	m	class:ZFXD3DEnum
    m_hWND	ZFXD3D.h	/^	HWND m_hWND;               \/\/ radiobtn windowed$/;"	m	class:ZFXD3DEnum
    m_nMinBits	ZFXD3D.h	/^	UINT      m_nMinBits;      \/\/ minimum backbuffer bits$/;"	m	class:ZFXD3DEnum
    m_nMinDepth	ZFXD3D.h	/^	UINT      m_nMinDepth;     \/\/ minimum depth bits$/;"	m	class:ZFXD3DEnum
    m_nMinHeight	ZFXD3D.h	/^	UINT      m_nMinHeight;    \/\/ minimum screen height$/;"	m	class:ZFXD3DEnum
    m_nMinStencil	ZFXD3D.h	/^	UINT      m_nMinStencil;   \/\/ minimum stencil bits$/;"	m	class:ZFXD3DEnum
    m_nMinWidth	ZFXD3D.h	/^	UINT      m_nMinWidth;     \/\/ minimum screen with$/;"	m	class:ZFXD3DEnum
    m_nNumFmt	ZFXD3D.h	/^	UINT      m_nNumFmt;       \/\/ adapter formats possible$/;"	m	class:ZFXD3DEnum
    m_pChain	ZFXD3D.h	/^	LPDIRECT3DSWAPCHAIN9  m_pChain[MAX_3DHWND];$/;"	m	class:ZFXD3D
    m_pD3D	ZFXD3D.h	/^	LPDIRECT3D9           m_pD3D;$/;"	m	class:ZFXD3D
    m_pD3D	ZFXD3D.h	/^	LPDIRECT3D9    m_pD3D;$/;"	m	class:ZFXD3DEnum
    m_pDevice	ZFXD3D.h	/^	LPDIRECT3DDEVICE9     m_pDevice;$/;"	m	class:ZFXD3D
    m_pEnum	ZFXD3D.h	/^	ZFXD3DEnum           *m_pEnum;$/;"	m	class:ZFXD3D
    m_pLog	ZFXD3D.h	/^	FILE     *m_pLog;          \/\/ log file opened by zfxd3d class$/;"	m	class:ZFXD3DEnum
    m_xAdapterInfo	ZFXD3D.h	/^	ZFXADAPTERINFO m_xAdapterInfo[10];$/;"	m	class:ZFXD3DEnum
    msType	ZFXD3D.h	/^	D3DMULTISAMPLE_TYPE msType;      \/\/ multisample type$/;"	m	struct:ZFXCOMBOINFO
    nAdapter	ZFXD3D.h	/^	UINT                   nAdapter;         \/\/ which one$/;"	m	struct:ZFXADAPTERINFO
    nAdapter	ZFXD3D.h	/^	UINT         nAdapter;        \/\/ belongs to$/;"	m	struct:ZFXDEVICEINFO
    nAdapter	ZFXD3D.h	/^	UINT       nAdapter;             \/\/ belongs to$/;"	m	struct:ZFXCOMBOINFO
    nNumCombo	ZFXD3D.h	/^	UINT         nNumCombo;       \/\/ number of combos$/;"	m	struct:ZFXDEVICEINFO
    nNumDevs	ZFXD3D.h	/^	UINT                   nNumDevs;         \/\/ number of devices$/;"	m	struct:ZFXADAPTERINFO
    nNumModes	ZFXD3D.h	/^	UINT                   nNumModes;        \/\/ number of modes$/;"	m	struct:ZFXADAPTERINFO
    ~ZFXD3D	ZFXD3D_init.cpp	/^ZFXD3D::~ZFXD3D() {$/;"	f	class:ZFXD3D
    

    Der Aufbau des Format ist etwa so: {tagname}<Tab>{tagfile}<Tab>{tagaddress}
    Dadurch kannst du z. B. alle Integer Variablen in deinem Sourcecode ermitteln und die Bezeichner, dann auf deinen Codingstandard vergleichen -> wenn Standard nicht eingehalten wird -> Fehler mit Dateiname und Zeilennummer


Anmelden zum Antworten