Contribution
November 22, 2025 ยท View on GitHub
Contribution
Author's note:
This extension is my way of giving back / saying thanks to the open-source community. If you are an open-source contributor then I take it as you already thanked. :)
Otherwise if you wanna express yourself you can buy me a coffee. Or you can just rate the extension. Whatever fits your budget.
Contributing to the source
- Report a bug ("properly").
- Tell me about your desired features.
- Create a pull request (against the development branch or master (if you sure your your PR is ready to be deployed)).
- Documentation related improvements (ex.:typos) are only accepted as issues, not as PRs.
Clone Repo
It is recommended to create a push hook:
cp ./resources/githooks/pre-push ./.git/hooks/pre-push
Content of .git/hooks/pre-push file:
#!/bin/sh
echo "pre-push hook:"
set -e -x
npm audit --production
npm run compile
npx mocha ./out/test/Documentation.test.js ./out/test/ESLint.test.js
Install
nvm use
npm install
Test
Since the big refactoring I had no time to adjust the tests :(
After installing:
npm test
Debug
After test:
- Open the folder in VSCode:
code .. - Let task
npm watchrun in the background. - VSCode "Run" / Debug page: Select
Manual cpp. - Start debugging.
- Add your folder to the newly opened VSCode's workspace. (Or change launch.json's
Manual cppto the folder which is intended to be debugged and the start.)
Issues are tipically related to file operations:
Compiling C++ tests
mkdir test/cpp/build
cd test/cpp/build
cmake -G Ninja .. # or just cmake ..
Publishing to market
If you think your changes worth of a release add a new version entry to CHANGELOG.md file without a date. CI will publish it automatically.
VSCE_PAT
- https://code.visualstudio.com/api/working-with-extensions/publishing-extension
- https://matepek.visualstudio.com/_usersSettings/tokens
VSCode API Change tracking tool
LAST_CHECKED_VERSION="1.92.0" && \
curl "https://raw.githubusercontent.com/microsoft/vscode/${LAST_CHECKED_VERSION}/src/vscode-dts/vscode.d.ts" \
--output "./out/latest_checked.vscode.d.ts" && \
curl "https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.d.ts" \
--output "./out/latest.vscode.d.ts" && \
bcomp "./out/latest_checked.vscode.d.ts" "./out/latest.vscode.d.ts"
VSCODE TESTING API
TODOs
-
- run skipped directly; 2. run skipped by parent; see status: not resetted, shouldn't be
-
- security concern note