当前使用以下样式打印错误:
Argument of type '({}: {}) => IterableIterator<SimpleEffect<"TAKE", TakeEffectDescriptor> | SimpleEffect<"CALL", CallEffectDescriptor> | SimpleEffect<"PUT", PutEffectDescriptor<Action<Success<any, any>>>>>' is not assignable to parameter of type '{ context: {}; fn: (this: {}, ...args: any[]) => any; }'.
我们如何改进它,使其更具可读性,我的意思是甚至简单
Argument of type
'({}: {}) => IterableIterator<SimpleEffect<"TAKE", TakeEffectDescriptor> | SimpleEffect<"CALL", CallEffectDescriptor> | SimpleEffect<"PUT", PutEffectDescriptor<Action<Success<any, any>>>>>'
is not assignable to parameter of type
'{ context: {}; fn: (this: {}, ...args: any[]) => any; }'.
就足够了
2条答案
按热度按时间cbeh67ev1#
据我所知,错误消息的格式是不可定制的。有一个old, closed issue请求了这个,但是那里的答案只是为了让IDE在现有消息的情况下表现得更好。
类似地,a more recent, open issue要求使冗长的错误消息可折叠和可扩展。同样,这只在IDE中有意义,这里的相关工作是在an issue for VSCode中。看起来总的趋势是让IDE在面对复杂的错误消息时表现得不同,而不是试图操作错误消息的字符串表示。
也有可能在某些情况下,没有办法格式化现有的错误消息是有帮助的,你想使用一个完全自定义的错误。在这种情况下,有an open feature request提出了一个“无效”类型,如
Invalid<T>
,这将导致编译器错误,如果你试图使用它,并将输出一个自定义的错误消息编码的类型T
。如果有任何未决问题对你有用,你可能想去那里给予他们一个👍和/或描述你的用例,如果它比已经列出的更有吸引力。或者,如果没有,你可以随时要求它。
不管怎样,希望这对你有帮助。祝你好运!
uklbhaso2#
查看https://github.com/yoavbls/pretty-ts-errors
至少对于VSCode,有一个更方便的错误格式可用。