notskm / vscode-clang-tidy

MIT License
48 stars 26 forks source link

Problems are not marked in headerfiles when llvm-* checks are enabled #60

Open maximilianmbeck opened 3 years ago

maximilianmbeck commented 3 years ago

When I enable llvm-* checks, I get the following error in the vs code developer tools console:

mainThreadExtensionService.ts:60 TypeError: Cannot read property 'DiagnosticMessage' of undefined
    at tidyOutputAsObject (/home/max/.vscode/extensions/notskm.clang-tidy-0.5.1/out/tidy.js:141)
    at Object.collectDiagnostics (/home/max/.vscode/extensions/notskm.clang-tidy-0.5.1/out/tidy.js:147)
    at Object.<anonymous> (/home/max/.vscode/extensions/notskm.clang-tidy-0.5.1/out/lint.js:54)
    at Generator.next (<anonymous>)
    at fulfilled (/home/max/.vscode/extensions/notskm.clang-tidy-0.5.1/out/lint.js:5)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97)

Additionally, the clang-tidy results are not shown in the editor, even though they are found in the Clang-Tidy output on the console:

---
MainSourceFile:  /home/max/ma/workspaces/simws/src/solver_ipft/include/solver_ipft/problems/cont_lightdark.hpp
Diagnostics:     
  - DiagnosticName:  llvm-header-guard
    Message:         header is missing header guard
    FileOffset:      0
    FilePath:        /home/max/ma/workspaces/simws/src/solver_ipft/include/solver_ipft/problems/cont_lightdark.hpp
    Replacements:    
      - FilePath:        /home/max/ma/workspaces/simws/src/solver_ipft/include/solver_ipft/problems/cont_lightdark.hpp
        Offset:          0
        Length:          0
        ReplacementText: '#ifndef SOLVER_IPFT_PROBLEMS_CONT_LIGHTDARK_HPP
#define SOLVER_IPFT_PROBLEMS_CONT_LIGHTDARK_HPP

'
      - FilePath:        /home/max/ma/workspaces/simws/src/solver_ipft/include/solver_ipft/problems/cont_lightdark.hpp
        Offset:          5631
        Length:          0
        ReplacementText: '
#endif
'
  - DiagnosticName:  cppcoreguidelines-special-member-functions
    Message:         'class ''CLDState'' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator'
    FileOffset:      1542
    FilePath:        /home/max/ma/workspaces/simws/src/solver_ipft/include/solver_ipft/problems/cont_lightdark.hpp
    Replacements:    

Maybe the extension has a problem reading multi-line replacement suggestions? My settings are:

{   
 "clang-tidy.checks":  [
        "-*",
        "google-*", 
        "cppcoreguidelines-*", 
        "clang-*", 
        "readability-*", 
        "misc-*",
        "modernize-*",
        "bugprone-*",
        "llvm-*", <== Error disappears, when I comment this line out
        "performance-*",
        "cert-*"
        ], 
 "clang-tidy.buildPath": "/home/max/ma/workspaces/simws/build/solver_ipft/clang-tidy",
}