【问题标题】:Go to Typescript Source Definition instead of Compiled Definition in Visual Studio Code转到 Typescript 源定义而不是 Visual Studio Code 中的编译定义
【发布时间】:2020-01-01 23:40:20
【问题描述】:

我正在使用 Visual Studio Code 开发一个打字稿项目,其中包括多个结构如下的 npm 包:

  • 源代码:/src/index.ts
  • 编译代码:/dist/...

当我右键单击导入的对象并选择“转到定义”或单击F12 或按住CTRL 单击对象时,Visual Studio Code 在/dist 中打开相应的.d.ts 文件

但是,我想让VSCode在/src中打开对应的.ts文件

是否可以改变这种行为,因为手动搜索源文件真的很烦人。

我已经创建了 git repo,所以你可以自己尝试一下: https://github.com/flolude/stackoverflow-typescript-go-to-definition

  • 您只需要运行 yarn bootstrap 即可重现问题。

【问题讨论】:

    标签: javascript typescript visual-studio-code vscode-settings monorepo


    【解决方案1】:

    TypeScript 2.9 引入了一个名为 declarationMap 的编译器选项。根据发行说明:

    在 --declaration 旁边启用 --declarationMap 会导致编译器 在输出 .d.ts 文件旁边发出 .d.ts.map 文件。语言 服务现在也可以理解这些映射文件,并使用它们来映射 基于声明文件的定义位置到其原始来源, 可用时。

    换句话说,在来自 .d.ts 的声明上点击 go-to-definition 使用 --declarationMap 生成的文件会将您带到源文件 (.ts) 定义该声明的位置,而不是 .d.ts.

    我在您的示例存储库中submitted a PR 以启用此设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-20
      • 2017-05-12
      • 2019-02-26
      • 2018-04-23
      • 2017-07-18
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多