* Fix scrolling of markdown preview.
* Use scrollDisabledCount.
* Stop initializing scrollDisabledCount.
* Make scrollTo enough large to occur scroll events.
* Should resolve when the error event occurs.
For #109277
- Add `option` opener priority. This means the oper will only be shown if requested but will not replace the default opener
- Persist registered openers for IntelliSense suggestions
If the user has configured a specific external uri opener, we should always try to use that without first calling `canOpen` to filter down the list of openers.
This change also adds `ExternalUriOpenerEnablement` which allows an opener to mark itself as the preferred opener for a given uri. If only a single preferred opener is returned, it will be used automatically for that uri (although user configuration can override this)
- Add error notification if opener throws an exception
- Add public facing id to openers. This is used in settings
- Add intellisense for the opener id setting
These tests were disable due to some occasional failures on build machines. This PR enables them but with flakySuite while I track down possible causes of these failures
This changes makes a few changes to the openers:
- Move the opener prompting from the extension host into the main thread
- Make the external opener process two phases: get openers and then open. This would let us skip the trusted domain validation for extension handled links if we want to in the future
- Add lifecycle to commands used by the uri opener
For #109277
This change moves the extension uri opener contribution point to instead use the internal `IExternalOpener` api instead of the more generic `IOpener` api. This is required since external uri openers should see the resolved uri that has gone through port forwarding, not the raw uri that the user clicked on