本文主要是介绍VSCode, Clangd, clang-tidy, Cuda,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
settings.json
"clangd.arguments": ["--background-index","--compile-commands-dir=build", //compile_command.json相对路径,cmake默认生成在build,自行配置// "-j=16","--all-scopes-completion","--completion-style=detailed","--header-insertion=iwyu","--pch-storage=memory","--cross-file-rename","--enable-config","--fallback-style=WebKit","--pretty","--clang-tidy",// 网上别人配置clang++,但我这边windows、linux实测不加这行也没啥问题,可能mac可能需要另外加"--query-driver=clang++",],
~/.config/clangd/config.yaml
clangd自定义包含路径-I
CompileFlags:Add: [-std=c++14, -Wno-documentation, -Wno-missing-prototypes, -I/home/chrisliu/anaconda3/envs/gaussian_splatting/include/python3.7, -I/home/chrisliu/anaconda3/envs/gaussian_splatting/lib/python3.7/site-packages/torch/include, -I/home/chrisliu/anaconda3/envs/gaussian_splatting/lib/python3.7/site-packages/torch/include/torch/csrc/api/include]
Diagnostics:ClangTidy:Add: [# https://blog.csdn.net/ypshowm/article/details/100040729# https://clang.llvm.org/extra/clang-tidy/checks/list.html# https://youtrack.jetbrains.com/articles/CPP-A-90276519boost-*, # 检测boost库API使用问题# cppcoreguidelines-*, # 检测是否违反cpp-core-guidelinescppcoreguidelines-interfaces-global-init,cppcoreguidelines-narrowing-conversions,cppcoreguidelines-pro-type-member-init,cppcoreguidelines-pro-type-static-cast-downcast,cppcoreguidelines-slicing,# google-*, # 检测是否违反google code stylegoogle-default-arguments,google-explicit-constructor,google-runtime-operator,performance-*,# bugprone-*,bugprone-argument-comment,bugprone-assert-side-effect,bugprone-bad-signal-to-kill-thread,bugprone-branch-clone,bugprone-copy-constructor-init,bugprone-dangling-handle,bugprone-dynamic-static-initializers,bugprone-fold-init-type,bugprone-forward-declaration-namespace,bugprone-forwarding-reference-overload,bugprone-inaccurate-erase,bugprone-incorrect-roundings,bugprone-integer-division,bugprone-lambda-function-name,bugprone-macro-parentheses,bugprone-macro-repeated-side-effects,bugprone-misplaced-operator-in-strlen-in-alloc,bugprone-misplaced-pointer-arithmetic-in-alloc,bugprone-misplaced-widening-cast,bugprone-move-forwarding-reference,bugprone-multiple-statement-macro,bugprone-narrowing-conversions,bugprone-no-escape,bugprone-not-null-terminated-result,bugprone-parent-virtual-call,bugprone-posix-return,bugprone-reserved-identifier,bugprone-sizeof-container,bugprone-sizeof-expression,bugprone-string-constructor,bugprone-string-integer-assignment,bugprone-string-literal-with-embedded-nul,bugprone-suspicious-enum-usage,bugprone-suspicious-include,bugprone-suspicious-memory-comparison,bugprone-suspicious-memset-usage,bugprone-suspicious-missing-comma,bugprone-suspicious-semicolon,bugprone-suspicious-string-compare,bugprone-swapped-arguments,bugprone-terminating-continue,bugprone-throw-keyword-missing,bugprone-too-small-loop-variable,bugprone-undefined-memory-manipulation,bugprone-undelegated-constructor,bugprone-unhandled-self-assignment,bugprone-unused-raii,bugprone-unused-return-value,bugprone-use-after-move,bugprone-virtual-near-miss,# modernize-*,modernize-avoid-bind,modernize-concat-nested-namespaces,modernize-deprecated-headers,modernize-deprecated-ios-base-aliases,modernize-loop-convert,modernize-make-shared,modernize-make-unique,modernize-pass-by-value,modernize-raw-string-literal,modernize-redundant-void-arg,modernize-replace-auto-ptr,modernize-replace-disallow-copy-and-assign-macro,modernize-replace-random-shuffle,modernize-return-braced-init-list,modernize-shrink-to-fit,modernize-unary-static-assert,modernize-use-auto,modernize-use-bool-literals,modernize-use-emplace,modernize-use-equals-default,modernize-use-equals-delete,modernize-use-nodiscard,modernize-use-noexcept,modernize-use-nullptr,modernize-use-override,modernize-use-transparent-functors,modernize-use-uncaught-exceptions,clang-analyzer-*,# cert-*, # 检测CERT的代码规范# cert-dcl03-c,# cert-dcl21-cpp,# cert-dcl58-cpp,# cert-err34-c,# cert-err52-cpp,# cert-err58-cpp,# cert-err60-cpp,# cert-oop54-cpp,# cert-str34-c,# readability-*,# readability-identifier*,readability-avoid-const-params-in-decls,readability-const-return-type,readability-container-size-empty,readability-convert-member-functions-to-static,readability-delete-null-pointer,readability-inconsistent-declaration-parameter-name,readability-make-member-function-const,readability-misleading-indentation,readability-misplaced-array-index,readability-non-const-parameter,readability-redundant-control-flow,readability-redundant-declaration,readability-redundant-function-ptr-dereference,readability-redundant-smartptr-get,readability-redundant-string-cstr,readability-redundant-string-init,readability-simplify-subscript-expr,readability-static-accessed-through-instance,readability-static-definition-in-anonymous-namespace,readability-string-compare,readability-uniqueptr-delete-release,readability-use-anyofallof,# misc-*,misc-misplaced-const,misc-new-delete-overloads,misc-no-recursion,misc-non-copyable-objects,misc-redundant-expression,misc-static-assert,misc-throw-by-value-catch-by-reference,misc-unconventional-assign-operator,misc-uniqueptr-reset-release,mpi-*,# llvm-header-guard,# llvm-include-order,]# CheckOptions:# readability-identifier-naming.VariableCase: camelBack# readability-identifier-naming.GlobalVariableCase: CamelCase# readability-identifier-naming.GlobalVariablePrefix: g# readability-identifier-naming.MemberPrefix: m# readability-identifier-naming.MemberCase: CamelCase# readability-identifier-naming.ClassMemberPrefix: m# readability-identifier-naming.ClassMemberCase: CamelCase# readability-identifier-naming.EnumCase: UPPER_CASE# readability-identifier-naming.EnumConstantCase: UPPER_CASE# readability-identifier-naming.MacroDefinitionCase: UPPER_CASE# readability-identifier-naming.ClassCase: CamelCase# readability-identifier-naming.StructCase: lower_case# readability-identifier-naming.FunctionCase: lower_case# readability-identifier-naming.ClassMethodCase: camelBack# readability-identifier-naming.MethodCase: camelBack# readability-identifier-naming.ConstantCase: CamelCase# readability-identifier-naming.ConstantPrefix: k
这篇关于VSCode, Clangd, clang-tidy, Cuda的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!