Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Serial Monitor (WSL & Windows)New to Visual Studio Code? Get it now.
Serial Monitor (WSL & Windows)

Serial Monitor (WSL & Windows)

Roger-Han

|
4 installs
| (1) | Free
Open and monitor COM serial ports from WSL or native Windows, with real-time log display, color filters, and search in an editor tab.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Serial Monitor (WSL & Windows)

Version License: MIT

在 VS Code 编辑器中打开 COM 串口,实时显示串口日志,支持关键字高亮过滤、日志搜索、数据发送。同时支持 WSL 和 原生 Windows 环境。

✨ 功能特性

功能 说明
🔌 串口连接 自动扫描 COM 口,选择波特率后一键连接
📺 编辑器标签页显示 串口日志在独立 WebView 标签页中实时展示,可与代码并排对照
🔍 关键字过滤 支持多个 Filter,每个可设置独立颜色
🎨 Filter 模式切换 Filter Only(只显示匹配行)/ Highlight All(高亮匹配行,显示全部)
📝 日志搜索 Ctrl+F 搜索日志内容,支持高亮匹配 + 上下跳转
⏸ 暂停/恢复 暂停滚动查看历史日志
⬇ 自动滚动 新日志自动滚到底部
📋 复制日志 一键复制全部日志到剪贴板
✏️ 发送数据 支持发送文本或 HEX 数据到串口
⏱ 时间戳 可选为每行添加毫秒级时间戳
🎨 暗色主题 完美融入 VS Code 暗色主题
💻 跨平台 支持 WSL(通过 PowerShell 互操作)和原生 Windows

📸 使用界面

┌──────────────────────────────────────────────────────────────┐
│ [🟢 COM7 @ 115200] [⚡ Connect] [⏸ Pause] [🗑 Clear] [📋 Copy] [⏱] [156] │ Search: [________] [▲][▼] │
├──────────────────────────────────────────────────────────────┤
│ 🔍 [✓] ⊘ [✓ keyword1 🟢][✓ keyword2 🔵] [+ Add Filter] [156/156] [Clear All] │
├──────────────────────────────────────────────────────────────┤
│ L_PSY sys_work hal psy cb temp =31                          │
│ I>23.034 VOLT sys_work PM:INFO 93722 96 44750 53437 31 4960 │
│ MX_DUMP:8080 0ed2 0000 0ed2 0fd0 0ed2 0fcf 4452 00        │
│ W>23.037 WQ sys_work work too long     14.00 ms 0x48197196 │
│ I>23.154 chargeSe SBEngine [thermostatTempListener] temp:31 │
│ W>30.374 PM_LOCKS sys_work PM_AUDIO lock too long           │
└──────────────────────────────────────────────────────────────┘

🚀 快速开始

安装

方式一:VS Code 扩展商店

  1. 打开 VS Code → 扩展面板 (Ctrl+Shift+X)
  2. 搜索 WSL Serial Monitor
  3. 点击安装

方式二:命令行安装

code --install-extension Roger-Han.wsl-serial-monitor

方式三:从 VSIX 安装

code --install-extension wsl-serial-monitor-0.2.0.vsix

使用

  1. 按 Ctrl+Alt+S 或运行命令 WSL Serial: Open Serial Port
  2. 从列表中选择 COM 口
  3. 选择波特率(默认 115200)
  4. 串口日志在编辑器右侧标签页中实时显示

📋 命令

命令 快捷键 说明
WSL Serial: Open Serial Port Ctrl+Alt+S 选择 COM 口并打开
WSL Serial: Close Serial Port — 关闭当前串口
WSL Serial: List Available Ports — 列出所有可用 COM 口
WSL Serial: Send Data to Serial Port — 发送数据(文本或 HEX)
WSL Serial: Clear Log View — 清空日志

🔍 Filter 使用

  1. 点击 + Add Filter 添加一个过滤器
  2. 输入关键字(大小写不敏感)
  3. 点击颜色块设置高亮颜色
  4. 可添加多个 Filter,每个有独立颜色

两种模式:

模式 说明
Highlight All(默认) 所有日志都显示,匹配行带颜色高亮
Filter Only(勾选 ⊘) 只显示匹配 Filter 的行,其余隐藏

勾选/取消 ⊘ 时,已有行和新到达的行都会立即切换模式。

⚙️ 配置

在 VS Code 设置中搜索 wsl-serial-monitor:

配置项 默认值 说明
defaultBaudRate 115200 默认波特率
defaultDataBits 8 数据位(5/6/7/8)
defaultStopBits One 停止位(One/OnePointFive/Two)
defaultParity None 校验位(None/Odd/Even/Mark/Space)
showTimestamp true 是否在每行添加时间戳(WebView 中的 ⏱ 复选框更方便)
maxLogLines 50000 最大日志行数
encoding utf-8 字符编码
powershellPath powershell.exe PowerShell 路径
lineEnding \r\n 发送数据的行尾符
autoReconnect false 断开后自动重连

🏗 工作原理

┌──────────────────────────────────────────────────────────────┐
│  VS Code (WSL Linux 或 原生 Windows)                         │
│                                                              │
│  ┌────────────────────────────────────────────────────────┐  │
│  │  WebView Tab (串口日志)                                 │  │
│  │  Filter │ Search │ Pause │ Copy │ Send │ Timestamp     │  │
│  └────────────────────────────────────────────────────────┘  │
│                         ▲ 数据流                              │
│  ┌────────────────────────────────────────────────────────┐  │
│  │  Extension Host                                        │  │
│  │  serialPort.ts → TCP 客户端 ←──────┐                   │  │
│  │  serialMonitorView.ts → WebView    │                   │  │
│  └────────────────────────────────────┼───────────────────┘  │
│                                       │ TCP Socket            │
│  ┌────────────────────────────────────┼───────────────────┐  │
│  │  PowerShell (Windows)              │                   │  │
│  │  TCP 监听器 ←──────────────────────┘                   │  │
│  │  System.IO.Ports.SerialPort → COMx                     │  │
│  └────────────────────────────────────────────────────────┘  │
│                                       │                       │
│  ┌────────────────────────────────────▼───────────────────┐  │
│  │  串口设备 (手表/开发板/调试器)                          │  │
│  └────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

通信协议

扩展使用 TCP Socket 桥接串口数据(而非 stdin/stdout),完全避免了管道缓冲问题:

  • PS → Node.js:原始串口字节流 + 控制消息 (CONNECTED|..., DISCONNECTED|..., ERROR|...)
  • Node.js → PS:HEX:<hexdata>\n(发送数据), QUIT\n(关闭)

平台适配

环境 PowerShell 路径 TCP 连接目标 脚本路径
WSL powershell.exe(WSL 互操作) Windows 宿主机 IP(通过 ip route 获取) wslpath -w 转换
原生 Windows powershell.exe(直接调用) 127.0.0.1 直接使用 %TEMP%

扩展自动检测运行环境,无需手动配置。

🔧 环境要求

WSL 环境

  • VS Code ≥ 1.80
  • WSL(Windows Subsystem for Linux)
  • Windows PowerShell (powershell.exe) 可从 WSL 调用
  • 串口设备已连接到 Windows 宿主机

验证 PowerShell 互操作:

which powershell.exe
powershell.exe -Command "Write-Output 'Hello from Windows'"

原生 Windows 环境

  • VS Code ≥ 1.80
  • Windows PowerShell 5.1+ 或 PowerShell Core 7+
  • 串口设备已连接到本机

Windows 防火墙

首次使用时 Windows 可能弹出防火墙提示,需允许 PowerShell 监听本地 TCP 端口。如果不小心拒绝了,可以手动添加规则:

# 在 Windows PowerShell (管理员) 中运行
New-NetFirewallRule -DisplayName "WSL Serial Monitor" -Direction Inbound -LocalPort 40000-59999 -Protocol TCP -Action Allow

🐛 故障排查

找不到 COM 口

  • 确认设备已连接(WSL: 连接到 Windows 宿主机;Windows: 连接到本机)
  • 在终端运行 powershell.exe -Command "Get-CimInstance Win32_PnPEntity | Where-Object {$_.Name -match 'COM'}" 验证

连接后没有日志输出

  • 检查 Output 面板(Ctrl+Shift+U → 选 WSL Serial Monitor)是否有 [DATA #N] 日志
  • 如果有但 WebView 不显示,请 Reload Window 后重试
  • 确认波特率与设备端一致

权限错误

  • 确认没有其他串口工具占用了该 COM 口
  • WSL: 检查 /etc/wsl.conf 中是否启用了互操作

PowerShell 无法调用

  • WSL: 检查 /etc/wsl.conf 中 interopEnabled=true
  • 可尝试使用完整路径:设置 wsl-serial-monitor.powershellPath 为 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

🛠 从源码构建

# 克隆仓库
git clone https://github.com/hanzj/wsl-serial-monitor.git
cd wsl-serial-monitor

# 安装依赖
npm install

# 编译
npm run compile

# 打包
npm install -g @vscode/vsce
vsce package

# 安装
code --install-extension wsl-serial-monitor-0.2.0.vsix

开发调试

在 VS Code 中打开项目文件夹,按 F5 启动扩展开发主机进行调试。

许可证

MIT License

🤝 贡献

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feature/amazing-feature
  3. 提交更改:git commit -m 'Add amazing feature'
  4. 推送分支:git push origin feature/amazing-feature
  5. 创建 Pull Request
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft