成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

VS Code調試太難?這款可視化代碼調試工具值得擁有

新聞 前端
一個名叫 hediet 的外國程序員開源了一個在調試期間可視化數據結構的 VS Code 擴展——Debug Visualizer。

 [[316055]]

這是一個在調試期間可視化數據結構的 VS Code 擴展,使用它之后,你可以清晰明了的看到不同數據之間的關系。

一個名叫 hediet 的外國程序員開源了一個在調試期間可視化數據結構的 VS Code 擴展——Debug Visualizer。

這個擴展程序可以在 VS Code 中調試任何編程語言,當然,目前最適配的編程語言是 JavaScript 和 TypeScript,另外 C#、Java 和 PHP 也進行了相應的測試。

1. 如何安裝使用?

安裝此擴展后,使用命令 Open a new Debug Visualizer View 打開新的可視化器視圖。在這個視圖中,你可以輸入一個表達式,該表達式在逐步分析你的代碼時會進行評估和可視化,例如

  1. kind: { graph: true }, 
  2. nodes: [ { id: "1", label: "1" }, { id: "2", label: "2" } ], 
  3. edges: [{ from: "1", to: "2", label: "edge" }] 

你可以通過編寫自己的函數,從自定義數據結構中提取這些調試數據。

2. 哪些數據可被可視化呢?

很多人可能會問,這個可視化代碼調試工具都支持哪些東西可視化呢?基本上你能想到的,它都可以做到可視化。

圖形可視化

Graphviz 和 Vis.js 可視化工具可以渲染與 Graph 界面匹配的數據。

  1. interface Graph { 
  2.   kind: { graph: true }; 
  3.   nodes: NodeGraphData[]; 
  4.   edges: EdgeGraphData[]; 
  5.  
  6. interface NodeGraphData { 
  7.   id: string; 
  8.   label?: string; 
  9.   color?: string; 
  10.   shape?: "ellipse" | "box"
  11.  
  12. interface EdgeGraphData { 
  13.   from: string; 
  14.   to: string; 
  15.   label?: string; 
  16.   id?: string; 
  17.   color?: string; 
  18.   dashes?: boolean

graphviz 可視化工具可以通過使用 SVG 查看器來查看 viz.js 創建的 SVG。

VS Code调试太难?这款可视化代码调试工具值得拥有

Plotly 可視化

plotly visualizer 可以通過 plotly 來渲染與界面匹配的 JSON 數據。

  1. export interface Plotly { 
  2.   kind: { plotly: true }; 
  3.   data: Partial<Plotly.Data>[]; 
  4. // See plotly docs for Plotly.Data. 

VS Code调试太难?这款可视化代码调试工具值得拥有

Tree 可視化

樹可視化器渲染與 Tree 接口匹配的數據。

  1. interface Tree<TData = unknown> { 
  2.   kind: { tree: true }; 
  3.   root: TreeNode<TData>; 
  4. interface TreeNode<TExtraData> { 
  5.   id: string | undefined; 
  6.   name: string; 
  7.   value: string | undefined; 
  8.   emphasizedValue: string | undefined; 
  9.   children: TreeNode<TExtraData>[]; 
  10.   data: TExtraData; 
  11.   isMarked: boolean

VS Code调试太难?这款可视化代码调试工具值得拥有

AST 可視化

AST 可視化工具渲染與 Ast 接口匹配的數據。

  1. interface Ast 
  2.   extends Tree<{ 
  3.       position: number; 
  4.       length: number; 
  5.     }>, 
  6.     Text { 
  7.   kind: { text: true; tree: true; ast: true }; 

除了樹視圖外,AST 可視化工具還會高亮顯示源代碼的來源。

VS Code调试太难?这款可视化代码调试工具值得拥有

Grid 可視化

Grid 可視化工具會渲染與以下接口匹配的數據。

  1. export interface Grid { 
  2.   kind: { array: true }; 
  3.   columnLabels?: { label?: string }[]; 
  4.   rows: { 
  5.     label?: string; 
  6.     columns: { 
  7.       content?: string; 
  8.       tag?: string; 
  9.       color?: string; 
  10.     }[]; 
  11.   }[]; 
  12.   markers?: { 
  13.     id: string; 
  14.  
  15.     row: number; 
  16.     column: number; 
  17.     rows?: number; 
  18.     columns?: number; 
  19.  
  20.     label?: string; 
  21.     color?: string; 
  22.   }[]; 

Text 可視化

文本可視化工具渲染與 Text 接口匹配的數據。

  1. interface Text { 
  2.   kind: { text: true }; 
  3.   text: string; 
  4.   mimeType?: string; 
  5.   fileName?: string; 

mimeType 和 fileName 的文件擴展名用于語法高亮顯示。

SVG 可視化

SVG 可視化工具渲染與 Svg 接口匹配的數據。實際的 SVG 數據必須存儲在 text 中。

  1. interface Svg extends Text { 
  2.   kind: { text: true; svg: true }; 

點圖可視化

點圖可視化工具渲染與 DotGraph 接口匹配的數據。

  1. interface DotGraph extends Text { 
  2.   kind: { text: true; dotGraph: true }; 

Viz.js(Graphviz)用于渲染。

3. 哪些數據可被提取?

該工具中包含有 JavaScript/TypeScript 數據提取器,數據提取器可將任意值轉換為可視化數據。這個擴展會自動在被調試者中注入以下數據提取器,當然用戶也可以注冊自定義數據提取器。

ToString

只需對值調用 .toString() ,就可將數據轉換為文本類型。

TypeScript AST

  • 直接可視化 ts.Node
  • Record 和 [ts.Node] 的可視化。如果記錄包含 fn 鍵,則將為每個節點顯示它們的值。

As Is 數據提取器

將數據直接輸入到可視化工具。

使用方法 getDebugVisualization

調用 .getDebugVisualization(),就可將數據轉換為可視化工具的直接輸入。

Plotly y-Values

使用 plotly 繪制數字數組。

對象圖

構造一個圖形,其中包含從表達式求值到的對象可到達的所有對象。使用廣度搜索構造圖,在 50 個節點后停止。

Array Grid

可以為數組數據創建 Grid visualization。

4. 其它事項

該擴展支持多行表達式,例如點擊 shift+enter    可添加新行,點擊 ctrl+enter 可計算表達式。當只有一行時,    enter 是提交當前表達式,當有多行時,enter 插入另一個換行符。

經過該擴展程序開發者的測試,可與 TypeScript / JavaScript 庫一起很好地工作。

GitHub 開源地址:

https://github.com/hediet/vscode-debug-visualizer/tree/master/extension

 

責任編輯:張燕妮 來源: 架構頭條
相關推薦

2022-08-08 07:35:37

云測試工具云存儲云計算

2025-03-31 03:25:00

2020-02-27 08:59:11

DebugCode開源工具

2022-05-05 07:01:09

可視化代碼執行工具

2022-08-28 10:36:53

調試工具通用

2022-03-11 08:32:53

C代碼代碼編輯vscode

2022-07-25 07:57:19

工具代碼調試

2022-06-06 12:18:44

配置可視化Nginx

2025-04-17 08:36:30

2011-08-15 17:38:48

iPhone開發調試工具

2021-01-18 17:23:30

代碼調試VS Code

2024-01-24 13:22:40

Python調試工具技巧

2023-03-29 08:18:16

Go調試工具

2024-07-09 08:31:26

2016-12-02 20:23:51

AndroidADB

2017-11-27 11:59:40

Node.JSChrome調試程序

2012-02-24 09:25:20

JavaScript

2009-10-22 13:02:47

SQL SERVER

2009-12-04 13:31:50

VS代碼調試

2025-05-29 08:05:00

code2flowPython軟件開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区亚洲 | 在线观看特色大片免费网站 | 国产成在线观看免费视频 | 中文字幕亚洲欧美日韩在线不卡 | 红桃视频一区二区三区免费 | 亚洲有码转帖 | 四虎影院在线免费观看 | 成人国产精品色哟哟 | 精品综合久久久 | 在线观看成年人视频 | 日韩精品视频一区二区三区 | 日韩日b视频 | 亚洲区视频 | 日本精品一区二区三区四区 | 成年人的视频免费观看 | www.久| 欧美精品一区在线观看 | 午夜精品久久久久久久久久久久 | 国产精品jizz在线观看老狼 | 狠狠色综合久久丁香婷婷 | 日韩一级免费观看 | 中文字幕成人网 | 国产精品一区二区久久久久 | 久久9精品 | 欧洲精品码一区二区三区免费看 | 日韩一区在线播放 | 国产日韩一区二区三区 | 精品在线一区二区三区 | 欧美日韩福利视频 | 狠狠色综合网站久久久久久久 | 久久久久久九九九九九九 | 久久com| 精品国产网 | 欧美a区 | 99热.com| 成人高清在线视频 | 亚洲人成人一区二区在线观看 | 亚洲成人久久久 | 国产精品一区在线 | 日韩在线视频免费观看 | 成人三区|