0b672f87755b6326432dfa4c26379d31a025f7ba

Author
Nick Brassel <nick@tzarc.org>
Committer
GitHub <noreply@github.com>
Date

Message

Far better VSCode intellisense support using clangd. (#20382)

Diff

This diff is truncated to protect this page.

 1diff --git a/.clangd b/.clangd
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..2be2d817fc7cda7b50c9788e7b1559e4bad67a40
 4--- /dev/null
 5+++ b/.clangd
 6@@ -0,0 +1,4 @@
 7+CompileFlags:
 8+  Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
 9+  Remove: [-W*, -mcall-prologues]
10+  Compiler: clang
11diff --git a/.vscode/extensions.json b/.vscode/extensions.json
12index 889d9d610eb60e8f647e69191e6ead696266e576..068d3d784d80f9d47fadf73d44f7338153b48440 100644
13--- a/.vscode/extensions.json
14+++ b/.vscode/extensions.json
15@@ -3,7 +3,7 @@
16   "recommendations": [
17     "EditorConfig.EditorConfig",
18     "xaver.clang-format",
19-    "ms-vscode.cpptools",
20+    "llvm-vs-code-extensions.vscode-clangd",
21     "bierner.github-markdown-preview",
22     "donjayamanne.git-extension-pack"
23   ]
24diff --git a/.vscode/settings.json b/.vscode/settings.json
25index 76117e52e0b7e4a458c3375e58aa718d90462ea7..f369ecb1748c5fb85b20b38d15abbf0fd5584be0 100644
26--- a/.vscode/settings.json
27+++ b/.vscode/settings.json
28@@ -26,6 +26,9 @@
29     },
30     "python.formatting.provider": "yapf",
31     "[json]": {
32-	    "editor.formatOnSave": false
33-    }
34+        "editor.formatOnSave": false
35+    },
36+    "clangd.arguments": [
37+        "--header-insertion=never"
38+    ]
39 }
40diff --git a/docs/other_vscode.md b/docs/other_vscode.md
41index a10002570bd4fb6a777cbe929ad6e6ecc2cc45e8..83ae6e6ed060be8b2057f86df5ac61b70d455b1d 100644
42--- a/docs/other_vscode.md
43+++ b/docs/other_vscode.md
44@@ -92,59 +92,28 @@ No, really, that's it.  The paths needed are already included when installing th
45 
46 There are a number of extensions that you may want to install:
47 
48-* [Git Extension Pack](https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack) - 
49-This installs a bunch of Git related tools that may make using Git with QMK Firmware easier.
50+* [Git Extension Pack](https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack) - This installs a bunch of Git related tools that may make using Git with QMK Firmware easier.
51+* [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) - _[Optional]_ -  This is the language server for C/C++ that VS Code uses.  It provides IntelliSense and other features.
52 * [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) - _[Optional]_ -  Helps to keep the code to the QMK Coding Conventions.
53 * [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[Optional]_ - Makes the markdown preview in VS Code more like GitHub's.