For #82718Fixes#52846
This adds a newly proposed codeActions contribution point. For details, see #82718
This change also makes the intellisense for the `editor.codeActionsOnSave` property dynamic by using the new contribution point
Fixes#83338
`TextDocument` lifetime may not match that of the the user facing editors. However the JS/TS extension was assuming that it did. Introduce a `ensureHasBuffer` function that can open a buffer if vscode knows about a textdocument but no `onDidOpenTextDocument` has been fired for it yet
Using a textdocument to know if we are in a typescript vs a javascript document is ideal but comes at a performance cost. In most cases we can use the file name safely
Telemetry shows that these old TS versions have very low usage (in the tens across the many, many js/ts users). Given this, it now makes sense to remove the extra gating/checks required to support these old versions
Changes in one document may cause errors in other, not yet visible docs. Make sure we update the diagnostics when another file becomes visible to handle that case
Fixes#81059Fixes#82419
The interactive playground generates uris that have query paramters. This causes the TS Server to crash. The workaround here is make sure the file paths we give to TS Server don't have query paramters but the ones we work with locally do
Any errors on `updateOpen` will cause the TS Server to become out of sync. This change alerts us to errors that happen in `updateOpen`. We then restart the ts server
* Add setting to configure the max memory for tsserver
* Fix silly tpo from fixing formatting
* Add "MB" to setting description string
* Add validation to configuration value
* Add 128MB as a lower bound
We are interested in understanding which TS versions user have enabled in their workspaces, and how widely these diverge from these the workspace version