Files
vs-code-setup/config.json
T
max d45639bf2f Build, publish to Gitea releases, and install the three extensions
Answers two things: how to install these without a marketplace, and how to keep
settings in sync when VS Code's Settings Sync cannot be pointed at Gitea.

- build.ps1 packages each extension into dist/
- publish.ps1 creates a release and uploads them, replacing same-named assets so a
  rolling "latest" tag stays clean
- install.ps1 downloads a release's assets and installs them, or -Local from dist/
- settings.ps1 copies User/ between the repo and the machine, and installs the
  marketplace extensions recorded in extensions.txt
- dev-link.ps1 junctions the sources into ~/.vscode/extensions for development
- ci-release.sh plus a Gitea Actions workflow do the build and publish on a tag push

Settings are copied, not symlinked: an atomic save replaces a symlink with a regular
file and the sync stops without looking broken.

vsce/ pins vsce and undici so packaging works on Node 18, which current vsce does not
support.

test/run.ps1 drives the real scripts against a stub of the Gitea release API. It
caught the multipart Content-Disposition being unquoted on .NET Framework, and
Invoke-WebRequest dropping the Authorization header across a redirect.
2026-09-07 19:35:20 +02:00

27 lines
800 B
JSON

{
"//": "Fill in your Gitea server. GITEA_URL / GITEA_OWNER / GITEA_REPO override these.",
"gitea": {
"url": "https://gitea.example.com",
"owner": "max",
"repo": "vscode-extensions"
},
"//extensions": "path is relative to this repo; repo is the Gitea repo to clone if path is missing.",
"extensions": [
{
"id": "colored-references",
"path": "../colored-references-src/colored-references",
"repo": "colored-references"
},
{
"id": "vertical-tabs",
"path": "../vertical-tabs",
"repo": "vertical-tabs"
},
{
"id": "dotnet-hot-reload",
"path": "../dotnet-hot-reload",
"repo": "dotnet-hot-reload"
}
]
}