簡體   English   中英

VS Code 能否在文件重命名/移動時自動更新 JavaScript 和 TypeScript 導入路徑?

[英]Can VS Code automatically update JavaScript and TypeScript import paths on file rename/move?

是否有用於 vscode 的模塊可以更新文件的路徑? 例如,如果我有:

import './someDir/somelib'

並且我重命名或移動somelib ,它會自動更新上面提到的所有文件中的文件路徑嗎?

VS Code 1.24 中為 JavaScript 和 TypeScript 添加了此功能(跟蹤問題

當您移動或重命名文件時,現在將提示您查看是否要更新導入:

在此處輸入圖片說明

這由javascript.updateImportsOnFileMove.enabledtypescript.updateImportsOnFileMove.enabled設置控制。 有效值為:

  • "prompt" ——默認值。 提示每個文件重命名/移動
  • "always" — 總是嘗試在沒有提示的情況下自動更新導入
  • "never" — 不更新導入且不提示

正如@jamey graham 提到的,它在 React typescript項目中停止為我工作。 修復方法是將tsconfig.json文件更新為:

{
  "compilerOptions": {
    "baseUrl": "./src",
    // ...
  },
}

並刪除僅用於移動文件的"include": ["src"]選項。 VS Code 應該在此之后很好地更新路徑。

您可以在此之后恢復"include": ["src"]選項。

我不知道為什么刪除"include": ["src"]有效。

如果這不起作用,請嘗試打開.ts文件並在命令提示符下觸發Typescript: Restart TS server選項,然后重試。

第一次去設置

在此處輸入圖片說明

搜索“更新導入”

在此處輸入圖片說明

您可以選擇:

  • 提示(每次重命名時提示)
  • 始終(始終自動更新路徑)
  • 從不(從不重命名路徑並且不提示)

在我的項目中設置打字稿后,導入更新對我停止工作。

解決方案是遵循: https : //github.com/microsoft/vscode/issues/66937#issuecomment-475087628

具體來說,在我的項目的根目錄中添加一個jsconfig.json文件,其中包含:

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es2016",
    "jsx": "preserve"
  },
  "exclude": ["node_modules", "**/node_modules/*"]
}

暫無
暫無

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

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