Fixes#21511Fixes#23922
Changes the default markdown toolbar item to open the preview to the side of the current file as requested by #21511
Also updates the single file preview icon slightly to better differentiate it from the diff icon
Fixes#22494
**Bug**
References without a definition can cause the markdown table of contents provider to break
**Fix**
Pass in an empty environment to markdown-it `parse` to prevent the null dereference on invalid links.
**Bug**
The markdown grammar for fenced code blocks is rather unmaintainable since it involves lots of copy and pasted code
**Fix**
Use a gulp task and a template to generate the fenced code block grammars include directly. This allows adding new language support much more easily.
Adds enhanced security settings for the markdown preview. The new flow disable all scripts within the preview itself. Users can enable scripts on a per workspace basis.
When a markdown document that uses scripts is loaded, a warning is shown inside the document itself. This warning triggers a new security selector quick pick which allows users to enable or disable enahanced security in the workspace.
* Remove unneeded d.ts files from extensions
Moves most extensions to use the lib files for the standard library that typescript provides.
* Remove a few more node.d.ts references
Adds an initial implementation of scroll synrconization from the markdown preview to the editor. When the preview is scrolled, automatically scrolls the editor to reveal the same location.
This required adding a new supported reveal type `AtTop` in our API. This is already supported and used internally, but not really exposed in the public apis (except for the `revealLine` command).
* Adds command to post a message to an html preview
**Bug**
There is currently no easy way to communicate with an html preview document after the preview has been created.
**Fix**
Adds a command called `vscode.htmlPreview.postMessage` to post a message to a visible html preview. This message will only be posted if the target preview is visible.
Inside the preview, the event is recieved using the standard dom event:
* Remove logging
* proto
Continue proto
* clean up rendering
* Gate prototype
* Fix gating
* Remove public command
* Change setting name
* Added current position indicator
* Reveal center
Fixes#4641
Adds basic settings for controlling the markdown preview font. We already support this with custom css, but these settings are similar to what the editor and integrated terminal expose and allow for a few basic customizations. Custom style sheets will override these.
* Add language support for yaml front matter to markdown grammar
* Add option to strip yaml front matter from preview
* Use enum for setting instead of boolean
* Better names
* Fix merge error
Issue #7638
**Bug**
Open a `.txt` file containing markdown in VSCode. Select the editor language as `markdown` and the highlighing kicks in, but there is no preview button for the file.
**Fix**
Base display of the markdown preview button on `resourceScheme` instead of `resourceLangId`.
Closes#7638