TypeScript 语法高亮无法解析tsdoc中的@throws

vof42yt1  于 6个月前  发布在  TypeScript
关注(0)|答案(3)|浏览(50)

类型:Bug
对于具有 @throws 的函数,TypeScript 的语法高亮存在问题。TSDoc 使用了 @throws {@link IsbnSyntaxError} 格式,但 VSCode 显示的错误文本带有换行符,如下所示:

// from tsdoc sample: https://tsdoc.org/pages/tags/throws/
type Book = any;

/**
* @throws {@link IsbnSyntaxError}
* This exception is thrown if the input is not a valid ISBN number.
*/
function fetchBookByIsbn(isbnCode: string): Book {}

我认为 VSCode 不支持 tsdoc,而是使用 jsdoc,但 jsdoc 也显示不正确的信息(这可能与 microsoft/vscode#135417 有关)。我希望它能显示一个指向类型的链接,至少以简单的文本形式显示,而不是换行。我可能需要在其他项目中报告这个问题(TmLanguage? https://github.com/microsoft/TypeScript-TmLanguage/issues ),但无论如何我都在这里从 VSCode reporter 报告了。
VS Code 版本:Code 1.89.1 (dc96b837cf6bb4af9cd736aa3af08cf8279f7685, 2024-05-07T05:13:33.891Z)
操作系统版本:Windows_NT x64 10.0.19045
模式:
系统信息
| 项目 | 值 |
| ------ | ------ |
| CPUs | Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz (6 x 3000) |
| GPU状态 | 2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled |
| 负载(平均) | undefined |
| 内存(系统) | 31.78GB (11.72GB free) |
| 进程参数 | --disable-extensions --crash-reporter-id ca2a1b94-1896-42fa-87dc-e58738a43fa3 |
| 屏幕阅读器 | no |
| VM | 0% |已禁用扩展

wmtdaxz3

wmtdaxz31#

我使用了VSCode的报告功能,但现在我注意到在TypeScript仓库中出现了问题。
VSCode自动创建了这个工单,而我没有选择TypeScript名称(我没有选择TypeScript)。
如果这个问题应该在VSCode仓库中报告,那么很抱歉,我会关闭这个问题并将其复制到那里。

6yoyoihd

6yoyoihd2#

我使用了vscode的报告功能,但现在我注意到在typescript仓库中出现了问题。这个问题已经被mjbvz转移到了TypeScript仓库。根据#49891的说法,如果你去掉@link,这应该可以工作。

4c8rllxm

4c8rllxm3#

感谢您的回复,很抱歉占用了您的时间。

关于悬停信息中的链接,我不太了解正确的英语单词,所以使用了语法高亮的名称,但我想说一下悬停信息中的链接。我尝试删除 @link ,然后出现了以下情况:

  1. {@link Class} ,在描述部分的代码和悬停信息中都有链接。在我的理解中,VSCode 两者都有链接。我希望类型部分也能正常工作。
  2. [JSDoc] @throws {Class} 的代码中有链接,但悬停信息中没有。
  3. [TSDoc] @throws {@link Class} 既没有代码中的链接,悬停信息中的文本也是错误的。
  4. (上面的 {@link IsbnSyntaxError} 是绿色的,就像第二个一样,但没有链接)
  5. 因此,我希望有两点:
    1. TSDoc 格式至少显示不带错误的文本
    2. JSDoc 或 TSDoc 格式的悬停信息中也有链接
      我希望悬停信息中的链接能正确地指向 ErrorClass 的信息,就像描述部分的 @link 一样。我可以使用 jsdoc 格式,但如果可能的话,我也希望支持 tsdoc 风格来处理 TypeScript 代码。

相关问题