Giter Site home page Giter Site logo

chengliangs / ts-type-expand Goto Github PK

View Code? Open in Web Editor NEW

This project forked from d-kimuson/ts-type-expand

0.0 0.0 0.0 2.47 MB

vscode extension for expand type of typescript

License: MIT License

Shell 2.18% JavaScript 6.32% TypeScript 91.24% Vue 0.26%

ts-type-expand's Introduction

ts-type-expand for VSCode

VSCode extension that allows you to expand TypeScript type definitions.

  • Displays the type information of the selected node
  • This is especially useful for hard-to-read types, such as those automatically generated from GraphQL schemas, ...etc.

Installation

You can install this extension from the ts-type-expand - Visual Studio Marketplace!

There is nothing additional that needs to be installed.

Features

Expansion

The following types can be expanded

  • Properties
  • Array (T for Array<T>)
  • Candidate types for union type
  • Arguments and return values of functions or methods

Selection

The following are the destination nodes that support type expansion. More nodes will be added in the future.

Statements Support
TypeAlias declaration
Interface declaration
Varibale declaration
Varibale statement
Class declaration
Function declaration
Function call
Function argument
Method declaration
Enum Declaration
Enum statement

[Experimental] Copy type information

We 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!

This feature is experimental. If you have any feedback, I welcome it through an Issues.

Supports

Types

Types are calculated by the CompilerAPI, so all types supported by TypeScript are supported in this extension.

Platforms

This 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.

Outside of Node, the extension is compatible with bun but not with deno. This is because deno does not support the required language service plugin. Therefore, we have no plans to support deno in the future.

Others

  • React and Vue (SFC) is supported.
  • for using Vue, Hybrid Mode is required.
    • Install Vue.volar extension above 2.0.16.
    • Enable the Hybrid Mode. (from UI or set "vue.server.hybridMode": true in .vscode/settings.json)

Configure

Configure ts-type-expand.* to your vscode config to customize.

key value default
compactOptionalType display T? for type T | undefined true
compactPropertyLength Omit when the type can be expanded and the number of characters of the type is longer than this length. 10
directExpandArray Directly expand T for Array<T> true
validate Validate by specifying languageId ["typescript", "typescriptreact", "javascript", "javascriptreact"]

In order for these settings to take effect, you need to run ts-type-expand.restart or reload the VSCode after making the changes.

Commands

command effect
ts-type-expand.restart Update configuration and restart extension

License

MIT

Contribute

Welcome.

ts-type-expand's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar d-kimuson avatar zcf0508 avatar senkenn avatar sisisin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.