簡體   English   中英

轉到 Typescript 源定義而不是 Visual Studio Code 中的編譯定義

[英]Go to Typescript Source Definition instead of Compiled Definition in Visual Studio Code

我正在使用 Visual Studio Code 開發一個打字稿項目,其中包括多個結構如下的 npm 包:

  • 源代碼: /src/index.ts
  • 編譯代碼: /dist/...

當我右鍵單擊導入的對象並選擇“轉到定義”或單擊F12或按住CTRL單擊對象時,Visual Studio Code 在/dist中打開相應的.d.ts文件

vscode 去定義 vscode 打開.d.ts

但是,我希望 VSCode 在/src中打開相應的.ts文件

.ts 文件

是否可以更改此行為,因為手動搜索源文件確實很煩人。

我已經創建了 git repo,所以你可以自己嘗試一下: https ://github.com/flolude/stackoverflow-typescript-go-to-definition

  • 您只需要運行yarn bootstrap即可復制問題。

TypeScript 2.9引入了一個名為declarationMap的compilerOption。 根據發行說明:

啟用--declarationMap和--declaration會導致編譯器在輸出.d.ts文件旁邊發出.d.ts.map文件。 語言服務現在還可以理解這些映射文件,並使用它們將基於聲明文件的定義位置映射到其原始源(如果可用)。

換句話說,在使用--declarationMap生成的.d.ts文件中對聲明進行定義將轉到將定義該聲明的源文件(.ts)位置,而不是.d。 TS。

我在您的示例回購中提交了PR以啟用此設置。

較新的 VSCode 版本(2022 年 4 月或更高版本)通過名為“轉到源代碼定義”的功能支持此功能(請參閱此處)。 我相信它仍在進行中(鑒於討論線程),但在大多數情況下應該可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM