* Let extensions prepopulate the issue reporter title and description
Fixes#91028
Adds two new optional arguments to the `vscode.openIssueReporter` command: `issueTitle` and `issueBody`. These are taken using an options object and are used to pre-populate the native issue reporter fields
Hooks up these fields for TypeScript's report issue prompt. We use this to post the most recent TS Server error stack
* Extract duplicate command id to constant
* Log version directly instead of prompting users for it
Fixes#88426
Add an api command that allows extensions to open/reopen a file with a specific we custom editor. Use this to allow re-opening a failed to load image as text/binary
For #77131
When the core references `vscode`, we only want to import the types and never generate a real import (which will fail to load). Use `import type` to better enforce this
Readonly helps out with TS's type guards and is also a good best practice. Specifically, readonly strings/numbers have their literal type instead of a generic `string` | `number` type, which can help catch dead code and some common programming mistakes