IntelliJ don't recognize Promise type in a basic Ionic2 project
intellij-idea, ionic2, typescript
Solution
Finally I have solved my problem with a workaround.
That solves the problems with all not recognized es2015 types into IDE:
Prerequisite: upgrade Idea IntelliJ to >2016.2.4
- First make sure that typescript is installed as global.
`npm install -g typescript` 2. Set in the settings the typescript version installed above
In Preferences > Languages & Frameworks > TypeScript > TypeScript version > Edit
Set the path to npm package. In my case: `/usr/local/lib/node_modules/typescript/lib`
Finally in the compiler options put on the option Set options manually instance of Use tsconfig.json
In some cases you should active the option Use TypeScript Service(Experimental)
Autocompletions works and no more problems with the inspector.
Problem
I am developing an Ionic 2 rc.1 app and I use idea intelliJ 2016.2.4. Project runs fine but the IDE don't recognize the typescript definition of Promise because it seems the type "is not included in tsconfig.json' The inspection error is: `Corresponding file is not included in tsconfig.json` my tsconfig.json look like that: ``` { "compilerOptions": { "allowSyntheticDefaultImports": true, "declaration": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "lib": [ "dom", "es2015" ], "module": "es2015", "moduleResolution": "node", "target": "es5" }, "exclude": [ "node_modules" ], "compileOnSave": false, "atom": { "rewriteTsconfig": false } } ``` if I remove node_modules from the "exclude" block then I do not have problem with the IDE inspection but the project run `ionic serve` fails in the lint phase. here is my package.json ``` { "name": "ionic-hello-world", "author": "Ionic Framework", "homepage": "http://ionicframework.com/", "private": true, "scripts": { "build": "ionic-app-scripts build", "watch": "ionic-app-scripts watch", "serve:before": "watch", "emulate:before": "build", "deploy:before": "build", "build:before": "build", "run:before": "build" }, "dependencies": { "@angular/common": "^2.0.0", "@angular/compiler": "^2.0.0", "@angular/compiler-cli": "0.6.2", "@angular/core": "^2.0.0", "@angular/forms": "^2.0.0", "@angular/http": "^2.0.0", "@angular/platform-browser": "^2.0.0", "@angular/platform-browser-dynamic": "^2.0.0", "@angular/platform-server": "^2.0.0", "@ionic/storage": "^1.0.3", "ionic-angular": "^2.0.0-rc.1", "ionic-native": "^2.2.3", "ionicons": "^3.0.0", "rxjs": "5.0.0-beta.12", "zone.js": "^0.6.21" }, "devDependencies": { "@ionic/app-scripts": "^0.0.36", "typescript": "^2.0.3" }, "cordovaPlugins": [ "cordova-plugin-device", "cordova-plugin-console", "cordova-plugin-whitelist", "cordova-plugin-splashscreen", "cordova-plugin-statusbar", "ionic-plugin-keyboard" ], "cordovaPlatforms": [ "ios@4.2.1", "android@5.2.2" ] } ``` Someone knows how to solve this problem? Thanks