Henning Dieterichs翻译:疯狂的技术宅前端
https://marketplace.visualstu...node
未经容许严禁转载git
用于在调试期间可视化数据结构的 VS Code 扩展。程序员
安装此扩展后,使用命令 Open a new Debug Visualizer View
打开新的可视化器视图。在这个视图中,你能够输入一个表达式,该表达式在逐步分析你的代码时会进行评估和可视化,例如github
{ kind: { graph: true }, nodes: [ { id: "1", label: "1" }, { id: "2", label: "2" } ], edges: [{ from: "1", to: "2", label: "edge" }] }
你能够经过编写本身的函数,从自定义数据结构中提取这些调试数据。请参阅 https://github.com/hediet/vsc... 以获取 createGraphFromPointers
的文档。面试
可视化工具用于显示由数据提取器提取的数据。可视化工具是(大部分)React 组件,位于扩展程序的 Web 视图中。typescript
Graphviz 和 vis.js 可视化器渲染与 Graph
接口匹配的数据。json
interface Graph { kind: { graph: true }; nodes: NodeGraphData[]; edges: EdgeGraphData[]; } interface NodeGraphData { id: string; label: string; color?: string; } interface EdgeGraphData { from: string; to: string; label: string; id?: string; color?: string; weight?: number; }
graphviz 可视化工具使用 SVG 查看器来渲染由 viz.js
建立的 SVG。segmentfault
export interface Plotly { kind: { plotly: true }; data: Partial<Plotly.Data>[]; } // See plotly docs for Plotly.Data.
树可视化器渲染与 Tree
接口匹配的数据。数组
interface Tree<TData = unknown> { kind: { tree: true }; root: TreeNode<TData>; } interface TreeNode<TExtraData> { id: string | undefined; name: string; value: string | undefined; emphasizedValue: string | undefined; children: TreeNode<TExtraData>[]; data: TExtraData; isMarked: boolean; }
AST 可视化器渲染与 Ast
接口匹配的数据。
interface Ast extends Tree<{ position: number; length: number; }>, Text { kind: { text: true; tree: true; ast: true }; }
除树视图外,还显示文本表示。
文本可视化器渲染与 Text
接口匹配的数据。
interface Text { kind: { text: true }; text: string; mimeType?: string; fileName?: string; }
mimeType
和 fileName
的文件扩展名用于语法突出显示。
SVG可视化器渲染与 Svg
接口匹配的数据。实际的 SVG 数据必须存储在 text
中。
interface Svg extends Text { kind: { text: true; svg: true }; }
点图可视化器渲染与 DotGraph
接口匹配的数据。
interface DotGraph extends Text { kind: { text: true; dotGraph: true }; }
Viz.js
(Graphviz)用于渲染。
数据提取器可将任意值转换为可视化数据。他们存在于被调试者中。此扩展会自动注入如下数据提取器。你也能够注册自定义数据提取器。
只需对值调用 .toString()
并将结果视为文本。
ts.Node
Record
和 [ts.Node]
的可视化。若是记录包含 fn
键,则将为每一个节点显示它们的值。将数据直接输入到可视化工具。
在值上调用 .getDebugVisualization()
,并将结果视为对可视化工具的直接输入。
使用 plotly 绘制数字数组。
构造一个图形,其中包含从表达式求值到的对象可到达的全部对象。使用广度搜索构造图。在 50 个节点后中止。
shift+enter
添加新行,按 ctrl+enter
计算表达式。当只有一行时,enter
提交当前表达式,可是当有多行时,enter插入另外一个换行符。当前,仅 JavaScript(以及TypeScript)的值能够可视化,而且仅支持少许可视化。该体系结构足够强大,未来能够支持其余语言。
@hediet/debug-visualizer-data-extraction
一个经过提供基础结构以实现和注册自定义数据提取器的库。有关更多信息,请参见库的 README。
这个扩展能够与个人库 @hediet/node-reload
一块儿很好地工做。他们在一块儿提供了一个交互式 typescript 演示器。