From c54a09974ccc0184de48a6b15edee44dbbbc2e82 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sun, 9 Feb 2020 20:06:35 -0500 Subject: [PATCH] vscode improvements --- .vscode/.gitignore | 2 + .vscode/c_cpp_properties.json | 78 +++++++++++++++++++++++++++++------ .vscode/extensions.json | 2 + .vscode/settings.json | 27 ++++++++---- 4 files changed, 88 insertions(+), 21 deletions(-) diff --git a/.vscode/.gitignore b/.vscode/.gitignore index 0b06c7f95a..976b187e0f 100644 --- a/.vscode/.gitignore +++ b/.vscode/.gitignore @@ -7,3 +7,5 @@ launch.json # C/C++ extension does some local caching in this folder ipch/ + +browse.vc.db* diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 00cff7fe95..1ff911d30f 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -2,24 +2,76 @@ "configurations": [ { "name": "Linux", - "intelliSenseMode": "gcc-x64", + "browse": { + "limitSymbolsToIncludedHeaders": true, + "databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db" + }, + "compileCommands": "${workspaceFolder}/.vscode/compile_commands.json", + "compilerPath": "/usr/bin/g++", + "configurationProvider": "ms-vscode.cmake-tools", + "cppStandard": "c++14", + "cStandard": "c11", + "defines": [ + "__PX4_LINUX", + "__PX4_POSIX" + ], + "forcedInclude": [ + "${workspaceFolder}/src/include/visibility.h" + ], "includePath": [ - "${workspaceFolder}/**" + "${workspaceFolder}/boards/px4/sitl/src", + "${workspaceFolder}/build/px4_sitl_default", + "${workspaceFolder}/platforms/common/include", + "${workspaceFolder}/platforms/posix/include", + "${workspaceFolder}/platforms/posix/src/px4/common/include", + "${workspaceFolder}/platforms/posix/src/px4/common/include", + "${workspaceFolder}/platforms/posix/src/px4/generic/generic/include", + "${workspaceFolder}/src", + "${workspaceFolder}/src/include", + "${workspaceFolder}/src/lib", + "${workspaceFolder}/src/lib", + "${workspaceFolder}/src/lib/matrix", + "${workspaceFolder}/src/modules" ], - "defines": [], + "intelliSenseMode": "${default}" + }, + { + "name": "Mac", "browse": { - "path": [ - "${workspaceFolder}/src/", - "${workspaceFolder}/src/lib/", - "${workspaceFolder}/src/lib/matrix", - "${workspaceFolder}/src/platforms", - "${workspaceFolder}/platforms/", - "." - ], - "limitSymbolsToIncludedHeaders": true + "limitSymbolsToIncludedHeaders": true, + "databaseFilename": "${workspaceFolder}/.vscode/browse.vc.db" }, "compileCommands": "${workspaceFolder}/.vscode/compile_commands.json", - "configurationProvider": "ms-vscode.cmake-tools" + "compilerPath": "/usr/bin/clang++", + "configurationProvider": "ms-vscode.cmake-tools", + "cppStandard": "c++14", + "cStandard": "c11", + "defines": [ + "__PX4_DARWIN", + "__PX4_POSIX" + ], + "forcedInclude": [ + "${workspaceFolder}/src/include/visibility.h" + ], + "includePath": [ + "${workspaceFolder}/boards/px4/sitl/src", + "${workspaceFolder}/build/px4_sitl_default", + "${workspaceFolder}/platforms/common/include", + "${workspaceFolder}/platforms/posix/include", + "${workspaceFolder}/platforms/posix/src/px4/common/include", + "${workspaceFolder}/platforms/posix/src/px4/common/include", + "${workspaceFolder}/platforms/posix/src/px4/generic/generic/include", + "${workspaceFolder}/src", + "${workspaceFolder}/src/include", + "${workspaceFolder}/src/lib", + "${workspaceFolder}/src/lib", + "${workspaceFolder}/src/lib/matrix", + "${workspaceFolder}/src/modules" + ], + "intelliSenseMode": "${default}", + "macFrameworkPath": [ + "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" + ] } ], "version": 4 diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 538d5c13b1..c0d6965423 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -11,6 +11,8 @@ "ms-python.python", "ms-vscode.cmake-tools", "ms-vscode.cpptools", + "redhat.vscode-yaml", + "timonwong.shellcheck", "twxs.cmake", "uavcan.dsdl", "wholroyd.jinja", diff --git a/.vscode/settings.json b/.vscode/settings.json index c701da3002..1e2e912cfd 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,8 +4,8 @@ "astyle.cpp.enable": true, "breadcrumbs.enabled": true, "cmake.autoRestartBuild": true, - "cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}", "cmake.buildBeforeRun": true, + "cmake.buildDirectory": "${workspaceFolder}/build/${variant:CONFIG}", "cmake.configureOnOpen": true, "cmake.copyCompileCommands": "${workspaceFolder}/.vscode/compile_commands.json", "cmake.debugConfig": { @@ -53,17 +53,20 @@ ] } }, - "cortex-debug.enableTelemetry": false, + "C_Cpp.autoAddFileAssociations": false, "C_Cpp.clang_format_fallbackStyle": "none", - "C_Cpp.configurationWarnings": "Disabled", + "C_Cpp.default.browse.databaseFilename": "${workspaceRoot}/.vscode/browse.vc.db", "C_Cpp.default.cppStandard": "c++14", "C_Cpp.default.cStandard": "c11", "C_Cpp.default.intelliSenseMode": "gcc-x64", - "C_Cpp.errorSquiggles": "Disabled", "C_Cpp.formatting": "Disabled", "C_Cpp.intelliSenseEngine": "Default", - "C_Cpp.intelliSenseEngineFallback": "Disabled", + "C_Cpp.intelliSenseEngineFallback": "Enabled", + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.workspaceParsingPriority": "medium", + "cortex-debug.enableTelemetry": false, "debug.toolBarLocation": "docked", + "editor.acceptSuggestionOnEnter": "off", "editor.defaultFormatter": "chiehyu.vscode-astyle", "editor.dragAndDrop": false, "editor.insertSpaces": false, @@ -77,7 +80,7 @@ "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, "files.watcherExclude": { - "**/build/*": true + "${workspaceFolder}/build": true }, "git.detectSubmodulesLimit": 20, "git.ignoreLimitWarning": true, @@ -157,13 +160,21 @@ "vector": "cpp" }, "search.exclude": { - "build/**": true + "${workspaceFolder}/build": true }, "search.showLineNumbers": true, + "search.smartCase": true, + "shellcheck.exclude": [2154], "telemetry.enableTelemetry": false, + "terminal.integrated.copyOnSelection": true, + "terminal.integrated.rightClickCopyPaste": true, + "terminal.integrated.scrollback": 5000, "window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}", "workbench.editor.highlightModifiedTabs": true, "workbench.enableExperiments": false, "workbench.settings.enableNaturalLanguageSearch": false, - "workbench.statusBar.feedback.visible": false + "workbench.statusBar.feedback.visible": false, + "yaml.schemas": { + "${workspaceRoot}/validation/module_schema.yaml": "${workspaceRoot}/src/modules/*/module.yaml" + }, }