[ 🌐 📩 🔥 ]
Graphviz Interactive Preview (Visual Studio Code Extension)
A VSCode extension that provides syntax highlighting, snippets, and an interactive, zoom-, pan- and searchable, live preview with edge tracing for graphs in Graphviz / dot format.
Language Features
- Graphviz/Dot Language Support / Syntax Highlighting and Snippets (thanks @joaompinto)
- AutoCompletion
- Rename Symbols
- Find References of node IDs
- Color selection via Color decoration
- Hover information for settings
- Shows syntax errors (only available when the preview of the document is active)
Interactivity Features
- Renders dot/Graphviz sources in an interactive live preview.
- Updates preview as you type.
- Search for nodes in the graph.
- Export the graph as
svg
or dot
.
- Interactive edge tracing. Click on a node to highlight incoming and outgoing edges (
ESC
to unselect). The Direction of the highlighting can be changed (options: single, upstream, downstream, bidirectional)
- Configurable render engine, render options & tracing preference: e.g.
transitionDelay
, transitionDuration
.
Other features
- Available on github.dev, vscode.dev
- Developers: you can pass a callback function that receives the webPanel when executing the preview command. This allows you to override functionality that is provided by the webPanel, like handlers for click/dblClick events.
How to preview
Open a Graphviz/Dot file in the active editor and use either of the following methods to render the preview:
- (a) open the command prompt (cmd+shift+p) and type
> graphviz preview
- (b) click the button in the editor title
- (c) from the editor window's context menu, select
Preview Graphviz / Dot (beside)
Render Examples
Developer Notes
Note:❗v0.0.8 introduced a breaking change: the render command was renamed from interactive-graphviz.preview.beside
to graphviz-interactive-preview.preview.beside
The extension can be set run on development machines with
npm run watch
In order to test the extension as a web extension you have to start
npm run open-in-browser
Interact with this extension
- add
graphviz-interactive-preview
to your package.json
extension dependencies.
{
"name": "your-extension",
"extensionDependencies": ["tintinweb.graphviz-interactive-preview"],
}
- Create one or multiple new panels displaying the rendered dot graph. Provide the
document
or uri
object reference of the source code you want to render. Alternatively, you can also provide a document
or uri
reference of a virtual document and provide the graphviz dot source with the content
field. In this case the extension will render the content
and use the virtual document to extract the path information. The callback function receives the newly created webPanel. Overload webPanel.handleMessage((message)
from your callback function to receive message events like onClick
and onDblClick
emitted from inside the dot render window.
let options = {
document: <vscode.document>,
uri: <vscode.uri>,
content: <string: dotSrc>,
callback: <function(webpanel){}>,
allowMultiplePanels: <bool: false|[true]>,
title: <string: RenderWindowTitle>,
search: <optional string: Search | object: searchOptions>
}
vscode.commands.executeCommand("graphviz-interactive-preview.preview.beside", options)
Please do not hesitate to reach out if you are missing specific functionality.
Maintainers
see AUTHORS for a list contributors.
Credits
Copyright (c) Microsoft Corporation:
Release Notes
see CHANGELOG