{"id":27293042,"url":"https://github.com/d-kimuson/ts-type-expand","last_synced_at":"2025-04-11T22:41:31.852Z","repository":{"id":37789576,"uuid":"364413339","full_name":"d-kimuson/ts-type-expand","owner":"d-kimuson","description":"vscode extension for expand type of typescript","archived":false,"fork":false,"pushed_at":"2024-06-04T21:14:58.000Z","size":2717,"stargazers_count":103,"open_issues_count":12,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-05T00:27:53.593Z","etag":null,"topics":["typescript","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d-kimuson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-05-04T23:35:10.000Z","updated_at":"2024-06-04T15:30:12.000Z","dependencies_parsed_at":"2024-05-11T05:26:15.994Z","dependency_job_id":"6c2231c3-05a8-4fba-8ee4-f3d449edb7ca","html_url":"https://github.com/d-kimuson/ts-type-expand","commit_stats":null,"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-kimuson%2Fts-type-expand","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-kimuson%2Fts-type-expand/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-kimuson%2Fts-type-expand/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-kimuson%2Fts-type-expand/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-kimuson","download_url":"https://codeload.github.com/d-kimuson/ts-type-expand/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248493022,"owners_count":21113159,"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","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":["typescript","vscode","vscode-extension"],"created_at":"2025-04-11T22:41:31.385Z","updated_at":"2025-04-11T22:41:31.844Z","avatar_url":"https://github.com/d-kimuson.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# ts-type-expand for VSCode\n\nVSCode extension that allows you to expand TypeScript type definitions.\n\n- Displays the type information of the selected node\n- This is especially useful for hard-to-read types, such as those automatically generated from GraphQL schemas, ...etc.\n\n![](https://user-images.githubusercontent.com/37296661/119652128-b18edd80-be60-11eb-87b7-aca155ac1210.gif)\n\n## Installation\n\nYou can install this extension from the [ts-type-expand - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=kimuson.ts-type-expand)!\n\nThere is nothing additional that needs to be installed.\n\n## Features\n\n### Expansion\n\nThe following types can be expanded\n\n- Properties\n- Array (`T` for `Array\u003cT\u003e`)\n- Candidate types for union type\n- Arguments and return values of functions or methods\n\n### Selection\n\nThe following are the destination nodes that support type expansion. More nodes will be added in the future.\n\n|      Statements       | Support |\n| :-------------------: | :-----: |\n| TypeAlias declaration |    ✓    |\n| Interface declaration |    ✓    |\n| Varibale declaration  |    ✓    |\n|  Varibale statement   |    ✓    |\n|   Class declaration   |    ✓    |\n| Function declaration  |    ✓    |\n|     Function call     |    ✓    |\n|   Function argument   |    ✓    |\n|  Method declaration   |    ✓    |\n|   Enum Declaration    |    ✓    |\n|    Enum statement     |    ✓    |\n\n### \\[Experimental\\] Copy type information\n\nWe have added a feature that allows you to copy type information as a type alias when you press the COPY button on an expanded type!\n\nThis feature is experimental. If you have any feedback, I welcome it through an [Issues](https://github.com/d-kimuson/ts-type-expand/issues).\n\n## Supports\n\n### Types\n\nTypes are calculated by the [CompilerAPI](https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API), so all types supported by TypeScript are supported in this extension.\n\n### Platforms\n\nThis extension supports Node.js environments, specifically versions v18 and v20. For TypeScript, versions 4.9 through 5.4 are supported. While other versions might work, some features could be unstable or broken.\n\nOutside of Node, the extension is compatible with [bun](https://bun.sh/) but not with [deno](https://deno.com/). This is because deno does not support the required language service plugin. Therefore, we have no plans to support deno in the future.\n\n### Others\n\n- React and Vue (SFC) is supported.\n- for using Vue, Hybrid Mode is required.\n  - Install [Vue.volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) extension above 2.0.16.\n  - Enable the Hybrid Mode. (from UI or set `\"vue.server.hybridMode\": true` in .vscode/settings.json)\n\n## Configure\n\nConfigure `ts-type-expand.*` to your vscode config to customize.\n\n| key                     | value                                                                                                   | default                                                              |\n| :---------------------- | :------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- |\n| `compactOptionalType`   | display `T?` for type `T \\| undefined`                                                                  | `true`                                                               |\n| `compactPropertyLength` | Omit when the type can be expanded and the number of characters of the type is longer than this length. | `10`                                                                 |\n| `directExpandArray`     | Directly expand T for `Array\u003cT\u003e`                                                                        | `true`                                                               |\n| `validate`              | Validate by specifying languageId                                                                       | `[\"typescript\", \"typescriptreact\", \"javascript\", \"javascriptreact\"]` |\n\nIn order for these settings to take effect, you need to run `ts-type-expand.restart` or reload the VSCode after making the changes.\n\n## Commands\n\n| command                  | effect                                     |\n| :----------------------- | :----------------------------------------- |\n| `ts-type-expand.restart` | Update configuration and restart extension |\n\n## License\n\nMIT\n\n## Contribute\n\nWelcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-kimuson%2Fts-type-expand","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-kimuson%2Fts-type-expand","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-kimuson%2Fts-type-expand/lists"}