{"id":49239757,"url":"https://github.com/bitrake/vs2026_tool_integration_labs","last_synced_at":"2026-04-24T19:02:43.008Z","repository":{"id":350405749,"uuid":"1206625395","full_name":"bitRAKE/vs2026_tool_integration_labs","owner":"bitRAKE","description":"Progressive series of labs integrating external tool/language into Visual Studio 2026.","archived":false,"fork":false,"pushed_at":"2026-04-10T06:53:42.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-10T08:37:28.030Z","etag":null,"topics":["fasm2","fasmg","vs2026"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitRAKE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-10T05:12:17.000Z","updated_at":"2026-04-10T06:53:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bitRAKE/vs2026_tool_integration_labs","commit_stats":null,"previous_names":["bitrake/vs2026_tool_integration_labs"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bitRAKE/vs2026_tool_integration_labs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitRAKE%2Fvs2026_tool_integration_labs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitRAKE%2Fvs2026_tool_integration_labs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitRAKE%2Fvs2026_tool_integration_labs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitRAKE%2Fvs2026_tool_integration_labs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitRAKE","download_url":"https://codeload.github.com/bitRAKE/vs2026_tool_integration_labs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitRAKE%2Fvs2026_tool_integration_labs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32236744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fasm2","fasmg","vs2026"],"created_at":"2026-04-24T19:02:41.591Z","updated_at":"2026-04-24T19:02:43.001Z","avatar_url":"https://github.com/bitRAKE.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Visual Studio 2026 Integration Exploration Repo\n\nThis repo is a lab set for validating how `Visual Studio Community 2026 (18.x)` behaves with:\n\n- advanced Open Folder and workspace setups\n- external build tool integrations\n- DSL authoring and syntax-highlighting packaging\n\nEach example lives in its own folder, includes its own `README.md`, and has a `tests/validate.ps1` preflight script. The local scripts validate file shapes and runnable paths; the Visual Studio steps validate the IDE behavior we care about.\n\nThe first five examples establish the foundation behavior. Examples 06 and 07 pivot that foundation into a real `fasm2`/`fasmg` workflow with checked-in sample sources and a real VSIX for `.fasm` and `.finc`. Example 08 starts the next tier by moving real tool configuration into a schema-backed profile file. Example 09 adds the first command-style editor utilities on top of that language foundation. Example 10 starts the native parser-core and LSP track with a buildable bootstrap parser, Tree-sitter-aligned parse-tree semantics, a synced `tree-sitter-fasmg` workspace scaffold, managed smoke-test harness, regression checks against the local `fasmg_syntax` resources, and first-pass symbol lifecycle tracking for `restore` / `purge`.\n\n## UI Notes\n\n- In Open Folder mode, the text in `tasks.vs.json` is not always the exact text shown in the Solution Explorer context menu.\n- Built-in `contextType` values such as `build`, `clean`, and `rebuild` are often rendered by Visual Studio as stock commands like `Build`, `Clean`, and `Rebuild`.\n- Custom tasks commonly appear with a `Run ` prefix in the menu even when the JSON task name does not include that word.\n- The example READMEs call out the menu text we have actually observed so far. Prefer the README wording over the raw JSON label when they differ.\n\n## Quick Start\n\n1. Run the repo preflight:\n\n   ```powershell\n   pwsh -File .\\scripts\\Invoke-Validation.ps1\n   ```\n\n2. Pick one example and follow its `README.md`.\n3. Report back with:\n   - which example you tested\n   - the exact Visual Studio 2026 build you used\n   - what matched the README\n   - what diverged from the README\n   - screenshots or copied Output-window text when relevant\n\n## Examples/\n\n| Example | Focus | Primary Visual Studio surface |\n| --- | --- | --- |\n| `01-open-folder-multi-root` | `.code-workspace`, multi-folder views, folder-local tasks, `.vscode/settings.json` | `Workspace` |\n| `02-open-folder-cpp-environments` | `CppProperties.json`, environment inheritance, build/debug JSON for C++ Open Folder | `Folder` |\n| `03-external-build-ninja` | `tasks.vs.json` driving `ninja` instead of a solution/project system | `Folder` |\n| `04-external-build-dsl-pipeline` | custom DSL compiler script plus Open Folder build/preview tasks | `Folder` |\n| `05-dsl-textmate-vsix` | VSIX packaging for TextMate grammar + Language Configuration | `Project`/`Folder` |\n| `06-open-folder-fasm2-build` | real `fasm2.cmd` build and syntax-check tasks with environment overrides | `Folder` |\n| `07-fasm-textmate-vsix` | real `.fasm` and `.finc` VSIX highlighting package | `Project`/`Folder` |\n| `08-open-folder-fasm-profiles` | schema-backed JSON profiles for real `fasm2`/`fasmg` build, syntax, and inspect tasks | `Folder` |\n| `09-vsix-fasmg-selection-commands` | selection-scoped VSIX commands for register rename, register casing, and hex literal conversion | `Project`/`Folder` |\n\n## Assumptions\n\n- The examples were shaped against the current local install:\n  - `Visual Studio Community 2026`\n  - `18.4.3`\n- Native C++ and Visual Studio extension workloads are assumed to exist for the C++ and VSIX labs.\n- The DSL examples intentionally use a fake `.vsfdsl` language so we can change the grammar and pipeline freely.\n- The real `fasm` examples assume the current local defaults unless overridden:\n  - `FASM2_PATH`\n  - `FASMG_PATH`\n\n## Docs\n\nOfficial references used to shape this repo are listed in [docs/reference-links.md](docs/reference-links.md).\n\nUse [docs/report-template.md](docs/report-template.md) when you send results back.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitrake%2Fvs2026_tool_integration_labs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitrake%2Fvs2026_tool_integration_labs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitrake%2Fvs2026_tool_integration_labs/lists"}