I spent the better part of this morning trying to figure out why a new Yeoman generated Outlook add-in was not working with IntelliSense in VSCode. I would type “Office.” and nothing would appear. I would press CTRL+{SPACE} and still nothing.
After a lot of digging and comparing projects that did work to those that did not, I found that the @types were missing. So I then installed @types/office-js:
npm install @types/office-js
Once I did this, viola! IntelliSense started working like a charm. From my experience this has happened to me a few different times, in these given scenarios:
- Moving an OfficeJS project from VS2017 to VSCode
- Moving a Script Lab project to VSCode
- Creating a blank OfficeJS project from scratch with just two files (manifest and webpage).
In my continued research I found that the way VSCode handles types is through NPM and you need to have data type definition files to get it all to work, that is why you need to install both NPM and the OfficeJS @types to get this to work. Per this page: https://code.visualstudio.com/Docs/languages/javascript
Automatic Type Acquisition (ATA) uses npm, the Node.js package manager, to install and manage Type Declaration (typings) files. To ensure that Automatic Type Acquisition works properly, first ensure that you have npm installed on your machine.
Secondly to that, for OfficeJS development, make sure you have @types/office-js.