For #109988
The new `js/ts.implicitProjectConfig.strictNullChecks` and `js/ts.implicitProjectConfig.strictFunctionTypes` control these settings in implict javascript and typescript files that are not contained in a jsconfig or tsconfig project. They are enabled by default for now so that we can collect feedback on them
* Issue #93589: Rename 'renameShorthandProperties' setting to 'useAliasesForRenames'
* Issue 93589: Added deprecation message to 'renameShorthandProperties' preference
* Issue 93589: Old and new setting value added for mitigtion
Co-authored-by: joshuahs <joshuahs@umich.edu>
* Expose importModuleSpecifierEnding to typescript-language-features
* Add default `auto` setting
* Use string 'auto' for auto setting
* Work with TypeScript 3.8
For #13953
**Problem**
We'd like to show project wide diagnostics, however at the moment TS server is single threaded. This means that computing all these diagnostics would interrupt other user operations such as completions.
Right now, our advice is to use tasks to get around this limitation (since tasks always run as separate process) however few people actually use tasks.
**Change**
This change adds an experimental `tsserver.experimental.enableProjectDiagnostics` setting (default false) that makes VS Code spawn a separate TS Server that is only used for computing diagnostics. This should help keep the primary syntax server responsive while letting the diagnostics server churn away at project level diagnostics
**Why experimental?**
- We are comporting too many diagnostics. This is bad for larger projects. I don't think TS provides the right APIs to know which files we actually need to request diagnostics on when a file changes.
- This hasn't been fully extensively tested to make sure it plays nicely with feature such as automatic type acquisition or in complex workspace with multiple projects
* Show code lens for inner functions
* Create typescript.referencesCodeLens.showOnAllFunctions setting
* Create javascript.referencesCodeLens.showOnAllFunctions setting
* Add a new setting in a existing class
* Avoid unnecessary fallthrough