Monitors the status of typings acqusition from TS. If we are acquiring typings, in the completion item provider, return an error result that informs the user that the results are incomplete. Typings acqusition is currently capped at 30 seconds per typings install event so that we don't block intellisense forever if something goes wrong
* Initial work using ts2.1 and TS Code Actions
* Clean up implementation and fix a few issues
* Gate provider to ts2.1+
* Switch gate to use 2.1.3 instead
* Fix a few null checks
* Format after completion
Fixes#17488
**Bug**
In the calls to `JSON.stringify`, we are currently passing in `[]` as a whitelist. This results in no argument values being printed.
**Fix**
Pass in null instead so that we print all argument values
* Add CompletionItemKind.Folder
Fixes#17435
Adds a new completion item kind for folder/directories. This is useful for path intellisense
For the icons, I copied the icons for folders into the suggestion icon set. Let me know if new ones are needed instead.
* Fix monaco.d.ts
Fixes#16888
**Bug**
The js/ts completion provide can currently only complete whole words (as defined by `TextDocument.getWordRangeAtPosition`). This causes completion of literal string types to fail if they are not a whole word.
**Fix**
Instead of relaying on the default range, compute a range by taking the longest match of the replacement text from the current position.
* Workaround for #16909Fixes#16909
Worksaround TS2.1+ returning strings in the occurrences response we use for highlighting occurrences in documents
The workaround is to look at the text surrounding the first occurrence to see if it is a string literal.
* Small cleanup
* Add gate for ts 2.1.x
* Added check to make sure we don't compare the same character
Issue #2092
**bug**
With typescript.useCodeSnippetsOnMethodSuggest enabled, we will automatically complete function calls inside some contexts where they should not be completed. For example, destructing assigment.
**fix**
Add a quickinfo check on the position before attempting to insert a function call. Create a blacklist of invalid contexts. Otherwise, assume that we want to complete the function call.
Fixes#16432
Introducing during null check refeactoring. Before the promise was set to null inside the promise. I added a rejection because the promise value should never be used before that point, but it seems that introduced a regression.
Fix is to use `p` inside of the promise instead.
* Initial work on large proejct warnings
* Update to use projectName from ts
* Use event to clean up code
* Remove unused interface
* Revert a few testing changes
* Remove languageServiceEnabled member
Fixes#13952
**Bug**
The `typescript.useCodeSnippetsOnMethodSuggest` setting only applies to Typescript files. I believe it should also apply to JavaScript files.
**Fix**
Use `typescript.useCodeSnippetsOnMethodSuggest` to control this behavior for js files as well.
Also delete unused configuration file.
An alternate design would be to add a `javascript.useCodeSnippetsOnMethodSuggest` configuration option, if users really do want to have different behavior between JS and TS.
* Use Strict Null Checks In TS Extension
Updates the Ts extension to use strict null checks.
* Throw instead of returning undefined in some linkedmap cases
* fix small null check in buffersync
* Fix for request item null
Issue #15814
**Bug**
1. Open a tsx file on its own.
2. See a error about passing `--jsx` to tsc.
**Fix**
For implicit projects, assume `"jsx": "preserve"`.
Closes#15814
Issue #15610
**bug**
For implicit js/ts projects that trigger the large project warning in vscode, the action currently tries to create a jsconfig.json file in `/dev/null/...`
**Fix**
In cases where the `jsconfig.json` file returned by tsserver is not under the root worspace, create an empty `jsconfig.json` at the root of the project instead.
Issue #15205
**Bug**
Typescript now infers projects if no jsconfig.json is found. This means that the hint about creating a `jsconfig.json` file is not required.
**Fix**
Remove the `jsconfig.json` hinting logic.