2017-04-25 63 views
1

在VS代碼中,如何爲Intellisense /自動完成包含js文件,而無需在Angular中編譯它們,也無需爲每個文件創建定義* .d.ts文件?沒有* .d.ts的JS文件的VS代碼智能感知

我有一個Angular 4(實際上是使用Angular 4的Ionic 3)項目,我嘗試使用VS Code作爲編輯器,但Intellisense for JavaScript文件似乎只適用於當前焦點文件而不適用於其它JS文件在同一個項目,除非我包括文件(這是在路徑"www/js/*.js")在tsconfig.json文件的編譯器選項:

"include": [ 
    "src/**/*.ts", 
    "src/**/*.d.ts", 
    "www/js/*.js" 
    ], 

的問題是,我不希望有這些文件在編譯中,因爲它們已經在index.html模板中被引用了。當我和他們一起編譯時,我會遇到錯誤。我只想將它們包含在Intellesense中,而不是編譯它們。任何方式來實現這一點,而不是每個人創建* .d.ts文件?

目前我的解決方法是在編輯我不想編譯的js時使用不同的編輯器(Adobe Brackets),這樣我就可以使用Brackets的Intellisense(它工作得很好),但我會如果可能的話,寧願使用VS Code編輯器。

在此先感謝!

回答

1

更多的研究,有很多試驗和錯誤的合併後,我能夠找到添加jsconfig.json文件到我的www文件夾(當我把它放在我的根文件夾旁邊的tsconfig.json文件時,它並沒有正常工作),用下面的內容,那麼它似乎至少讓js文件之間的智能感知的工作,雖然我還沒有能夠從TS文件的工作的js文件。這是我jsconfig.json文件的內容:

{ 
    "compilerOptions": { 
    "target": "ES5", 
    "module": "commonjs", 
    "allowSyntheticDefaultImports": true 
    }, 
    "include": [ 
    "js/*.js" 
    ], 
    "exclude": [ 
    "node_modules" 
    ] 
} 

我希望這可以幫助別人誰在同樣的問題就來了。

如果有人找到一種方式來獲得智能感知爲JS文件的工作,在TS文件工作時,請在這裏發表一個答案。謝謝!