相关疑难解决方法(0)

如何在没有“N more”和“...”的情况下查看完全扩展的 TypeScript 类型?

在 VSCode 中,TypeScript 显示了我定义的类型的非常有用的扩展。但是 TS 在 IntelliSense 中显示的内容是有限的。如果一个类型太长,那么我会看到这样的输出:

在此处输入图片说明

注意接近尾声的“11 more”。有时,为了对困难的类型定义进行故障排除,查看“N more”部分中的内容确实很有帮助。

有没有办法获得(用于开发期间的故障排除目的)完全扩展的类型定义,而没有那些“N more”消息来隐藏里面的内容?

https://github.com/Microsoft/vscode/issues/6638暗示截至 2017 年 2 月,此功能可能尚未可用(也未计划),但我不确定我是否正确阅读了该问题,无论情况如何在此期间发生了变化。

intellisense typescript visual-studio-code

20
推荐指数
2
解决办法
3601
查看次数

在文件中创建计算类型的导出

我想知道是否有可能给一个具有导出类型的文件,这些类型是否可以从泛型中提取计算类型?

function example() {
  return {
    foo: 'hi',
    bar: true,
    baz: 1
  };
}

export type Signature = ReturnType<typeof example>;
Run Code Online (Sandbox Code Playgroud)

对此:

export type Signature = {
    foo: string;
    bar: boolean;
    baz: number;
}
Run Code Online (Sandbox Code Playgroud)

我不相信tsccli会这样做,我不确定这个过程会被称为什么。

可以tsc创建这个导出吗?

有没有第三方工具可以做到这一点?

我知道如何做到这一点的唯一方法是将鼠标悬停在 VSCode 中的变量上并复制计算类型,并且只有在它很短并且不会减弱时才有效......

我发现了其他一些对类似请求的引用:

typescript

8
推荐指数
1
解决办法
472
查看次数

Typescript:如何合并该交集的表示(在工具提示中)?

我有一个重载的函数:

interface FunctionWithOverload {
    (): {
        a: 1
        b: 1
    }

    <T>(arg: T): {
        a: 1
        b: 1
    } & (T extends number ? { c: 1 } : {})
}

const fwo: FunctionWithOverload = () => {return {} as any}

const result = fwo() // result has a nice type: {a: 1, b: 1}
const result1 = fwo(1) // result1 does not: {a: 1, b: 1} & {c: 1}
Run Code Online (Sandbox Code Playgroud)

操场

如果将鼠标悬停在 上,您可以看到工具提示中result有一个很好的 type ,但有一个丑陋的 type 。{a:1,b:1} …

typescript typescript-typings

4
推荐指数
1
解决办法
1091
查看次数