{"id":20109532,"url":"https://github.com/agentcooper/vscode-sts","last_synced_at":"2025-07-22T09:33:46.287Z","repository":{"id":141124677,"uuid":"224742468","full_name":"agentcooper/vscode-sts","owner":"agentcooper","description":"VSCode support for a custom language based on TypeScript","archived":false,"fork":false,"pushed_at":"2019-12-11T14:31:35.000Z","size":1094,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T18:28:44.988Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"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/agentcooper.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}},"created_at":"2019-11-28T23:10:21.000Z","updated_at":"2022-09-03T15:58:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa8cc92d-85c2-417f-8988-1602de430b38","html_url":"https://github.com/agentcooper/vscode-sts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/agentcooper/vscode-sts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentcooper%2Fvscode-sts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentcooper%2Fvscode-sts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentcooper%2Fvscode-sts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentcooper%2Fvscode-sts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agentcooper","download_url":"https://codeload.github.com/agentcooper/vscode-sts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentcooper%2Fvscode-sts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266465459,"owners_count":23933129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-13T18:08:44.825Z","updated_at":"2025-07-22T09:33:46.260Z","avatar_url":"https://github.com/agentcooper.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Work in progress VSCode extension for a DSL based on TypeScript. See https://github.com/microsoft/vscode/issues/85788.\n\n# Goal\n\nProvide all IntelliSense features that VSCode provides for TypeScript, but for custom file extension (e.g. `*.sts`). This is needed to support \"internal\" DSLs: custom languages that use a subset of TypeScript.\n\n# How does this work\n\nThis is a VSCode extension that configures a language (`*.sts` files) and activates a [TS server plugin](https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin) that enables TypeScript language service for the new file extension. `tsconfig.json` are virtual: they are generated on the fly based on `stsconfig.json` by redirecting filesystem calls.\n\n# Features\n\n- [x] Autocomplete and hover tips\n- [x] Providing custom declarations\n- [x] Go to defintion for `*.ts` and `*.sts`\n- [x] Auto-import\n- [x] Virtual `tsconfig.json`: custom settings are read from `stsconfig.json`\n\n# Open problems\n\n- https://github.com/agentcooper/vscode-sts/issues/1\n\n# To run\n\n```\nnpm install\nnpm run build\n\ncode .\n\n# In VSCode press 'F5' (Use fn on Mac), new VSCode instance will open, open ./example directory with it\n```\n\n# Developing against local VSCode\n\n```bash\n# Follow https://github.com/microsoft/vscode/wiki/How-to-Contribute to build local VSCode\n# Use `yarn watch` to build VSCode\n\n# enable TSS_LOG (see https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29#logging)\nexport TSS_LOG=\"-level verbose -file ~/vscode-sts/tss.log\"\n\n# inside VSCode directory\n./scripts/code.sh --extensionDevelopmentPath=$ABSOLUTE_PATH_TO_VSCODE_STS_DIRECTORY ~/vscode-sts/example\n```\n\n# Context\n\nVSCode uses built-in [typescript-language-features](https://github.com/microsoft/vscode/tree/master/extensions/typescript-language-features) extension that spawns [TS server](https://github.com/microsoft/TypeScript/tree/master/src/server) (TypeScript Language Service). TS server supports [plugin system](https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin). VSCode extension can [provide a plugin](https://code.visualstudio.com/api/references/contribution-points#contributes.typescriptServerPlugins) to a TS server.\n\nTypeScript is not using LSP, however 2 third-party solutions exists:\n\n- https://github.com/theia-ide/typescript-language-server (wraps TS server)\n- https://github.com/sourcegraph/javascript-typescript-langserver\n\n# Useful resources\n\n## Language server plugins\n\n- https://github.com/Quramy/typescript-eslint-language-service\n- https://github.com/justjavac/typescript-deno-plugin\n- https://github.com/mrmckeb/typescript-plugin-css-modules\n- https://github.com/runem/lit-analyzer/tree/master/packages/ts-lit-plugin\n- https://github.com/angular/vscode-ng-language-service\n- https://github.com/Microsoft/typescript-tslint-plugin\n\n## Docs\n\n- https://code.visualstudio.com/api/references/contribution-points#contributes.typescriptServerPlugins\n- https://github.com/microsoft/TypeScript/wiki/Getting-logs-from-TS-Server-in-VS-Code\n- https://github.com/Microsoft/TypeScript/wiki/Debugging-Language-Service-in-VS-Code\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentcooper%2Fvscode-sts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentcooper%2Fvscode-sts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentcooper%2Fvscode-sts/lists"}