GNU Global C/C++ .vscode Config Pack

Paste a .vscode file. The 21 rules name the line and the fix. Left is the line that loads silently, right is the line that works.

Install free

Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.

npmMCP server (npx)Docker Hub
npx @readystack/gnu-global-cpp-vscode-config-pack <file>
npx @readystack/gnu-global-cpp-vscode-config-pack --mcp
docker run --rm -v "$PWD:/w" getreadystack/gnu-global-cpp-vscode-config-pack /w

Team? One key for every ReadyStack linter, 5 seats, $149 once

Get the full rule table as a PDF
All 21 rules GNU Global C/C++ .vscode Config Pack checks, each with its source and date, on printable pages you can hand to your team or auditor. We email it now, and once more only if a rule changes. No newsletter.

Get the full version $29

The same 21 rules across every config file in the repository at once, the findings written out as a CSV, JSON or HTML file you keep, and your team's own rules checked alongside the built-in 21.

One payment, one licence key for this tool. The key is shown right after payment.

A freelance senior software engineer in the US averages $101/hour in 2026 (contractrates.fyi; mid-level ~$73/hour). Finding one silently-ignored .vscode value by hand costs more than an hour of that.

Buy the full version — $29

Find a tool

· ReadyStack

Worked example

Real numbers from this tool, line by line.

The .vscode settings VS Code accepts, loads, and then ignores

There is no error message. That is the whole problem.

Open a .vscode/settings.json that a teammate committed six months ago and you will not find a red squiggle anywhere in it. The file is valid JSON. Every key is a real key. VS Code reads it top to bottom, accepts it, and then quietly does nothing with about a third of it.

Here is the one that costs the most hours:

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "prettier"
}

An extension id is always publisher.extension, with a dot. prettier is not an id, it is a word. There is no extension it can ever match, so format-on-save runs, finds no formatter, and returns. Nobody is told. The team concludes that format-on-save is unreliable and turns it off.

The same shape repeats across the whole folder:

{
  "cwd": "${workspaceRoot}/build",
  "clangPath": "~/llvm/bin/clang",
  "intelliSenseMode": "gcc-x64",
  "cStandard": "c++17",
  "console": "internalConsole"
}

${workspaceRoot} is the deprecated name and newer releases resolve it inconsistently, so the path can come out empty and your task runs in the wrong folder. VS Code does not expand a leading tilde in JSON, so ~/llvm/bin/clang resolves to a literal folder called ~ and the setting does nothing at all. gcc-x64 is the pre-platform form of intelliSenseMode; the current values carry the platform first, linux-gcc-x64, and the old one falls back to a guess, so your defines and include search can differ from the compiler that actually builds. cStandard takes c11, c17, c23 - a C++ standard put there makes IntelliSense parse your headers under the wrong language rules. And internalConsole cannot take keyboard input, so a program that reads stdin blocks forever and looks hung.

Every one of those is valid JSON with a known key. A linter checks the shape of a file, and a wrong value is a perfectly shaped value.

The cost is not the fix, which takes seconds once you know. The cost is the finding. Nothing points at the line. You notice weeks later, usually on the day a new person clones the repository and their IntelliSense is red in files that compile fine, or the day a VS Code update stops resolving a deprecated name that had been limping along.

So we wrote the check as an extension, and put the same 21 rules on a web page you can paste into. It reads the values. It gives you the line number and what the value should be instead. The free side runs all 21 rules on the file you have open, and inserts any of 45 ready snippets for gtags tasks, c_cpp_properties, formatter save-actions, Dark+ overrides, Tailwind, ASP.NET Core launch profiles and MicroProfile Java. No key, nothing held back.

The part worth paying for is not the answer - it is scale. One file is a coffee break. A repository with forty config files across a monorepo, exported as CSV for a review, with your own team rules checked alongside the built-in 21, is the thing you cannot do by hand for less than the price of an hour of senior developer time.

One last rule, because it is the one that stops being a nuisance and starts being an incident:

{ "githubToken": "ghp_..." }

In a file that lives in the repository. The moment that is pushed the token is public, GitHub revokes leaked tokens automatically, and your gist and repo access stops. Nothing in the editor warns you before the push. That check is free too.

15 seconds — what it actually does

Questions people ask

What does this actually check in a .vscode file?

It reads the values, not the syntax. 21 rules catch settings that VS Code loads without complaint and then ignores: ${workspaceRoot} instead of ${workspaceFolder}, a defaultFormatter id with no dot in it, a C++ standard placed in cStandard, a leading tilde in a path, tasks.json still on schema 0.1.0, and a committed GitHub token.

Who is this for?

C and C++ teams on VS Code who commit a .vscode folder to the repository, especially ones using GNU Global gtags for indexing. It also covers the other setups that end up in the same folder: c_cpp_properties IntelliSense, formatter save-actions, Dark+ colour overrides, Tailwind, ASP.NET Core launch profiles and MicroProfile Java.

Why will a JSON linter or a chat assistant not do this?

A linter checks shape. It confirms the file is valid JSON with known keys, and a wrong value is valid JSON. It cannot know that esbenp.prettier-vscode is an extension id and prettier is not, or that gcc-x64 stopped being the current form of intelliSenseMode. This pack carries the resolved answer for each of 21 cases and runs offline on your file.

What is free and what needs a licence?

Free covers one file completely: all 21 rules run on the config file you have open, every finding is reported with its line, and all 45 snippets insert at the cursor. No key is asked for and nothing is held back. A licence adds the repository-wide scan, the exported findings file, and your own custom rules.

What would this cost done by hand?

A freelance senior software engineer in the US averages $101 an hour in 2026, mid-level about $73. Tracking down one config value that VS Code accepts and quietly ignores usually costs more than an hour, because nothing reports an error - you only notice that formatting or IntelliSense never ran. The pack is $29 once.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.