Click to copy/exec shell code in markdown preview #234981
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Requested in #209876
Introduces a
CodeBlockManager
class that wraps every code block with a container and overlays either one or two buttons:The execute button is only shown if the markdown file is in the workspace that the preview is running in, and if
workspace.isTrusted
.Minimal changes to dependencies and
esbuild-preview.js
were introduced to support Codicons in the preview web view.Testing:
Made a markdown file with a few code blocks of various sizes and an image. Opened this markdown file from within both trusted and untrusted workspaces. Ensured that all of the following worked as expected in both cases:
30 Second Loom Demo: