2017-07-05 44 views
1

我有一個項目使用.js和.es6文件(Rails,但我認爲不重要),我試圖使用VS Code的javascript intellisense每these instructions。我有一個jsconfig.json文件:爲什麼VS Code javascript intellisense依賴於我打開的文件?

{ 
    "include": [ 
     "app/assets/javascripts/**/*", 
     "vendor/assets/javascripts/**/*" 
    ], 
    "compilerOptions": { 
     "target": "ES6", 
     "checkJs": true 
    } 
} 

在根和所有的JavaScript是在include節中提到的文件夾。我還在根目錄下創建了一個globals.d.ts文件。

如果我在VS Code中打開globals.d.ts,然後運行Typescript: Restart TS server,VS Code會識別JavaScript文件中的全局變量。但是,如果我再關閉globals.d.ts並再次運行Typescript: Restart TS server,VS代碼無法識別全局變量。在其他JavaScript文件中創建的全局變量也會發生這種情況。例如,說Class.es6定義了一個類。如果在VS代碼中打開Class.es6,我只能獲得該類的智能感知。

我不確定第一個爲什麼我的設置無法正常工作,第二個爲什麼它將依賴於我在VS代碼中打開的文件。

回答

0

由於您明確指定include,只有那些包含的文件纔會成爲您的JavaScript項目的一部分。你還需要在你的include中輸入global.d.ts如果你想讓它被拾起

+0

哇,絕對應該意識到這一點!謝謝你的提示。儘管如此,我還是將其添加到了「包含」列表中,但沒有任何更改。這也不能解釋其他JavaScript文件中全局變量的行爲。 – Trygve

相關問題