vscode日志点可在不中断执行时输出变量值,通过右键设日志点、添加条件表达式、命令面板快速插入及在 launch.json 中启用 enableLogPoints 实现。

如果您在使用 VSCode 进行代码调试时希望在不中断执行的情况下输出变量值或状态信息,则可以利用“日志点”(Logpoints)功能实现非侵入式日志注入。以下是具体操作方法:
本文运行环境:MacBook Pro,macos Sequoia。
一、在源码行设置日志点
日志点本质是断点的一种变体,它不会暂停程序运行,而是在命中时向调试控制台输出指定内容。需在支持调试的活动会话中启用,且依赖于调试器对 Logpoint 的兼容性(如 node.js、python(需 debugpy 1.8+)、C# 等)。
1、在编辑器左侧行号区域,右键单击目标代码行(例如某函数内部的一行语句)。
2、在弹出菜单中选择 “添加日志点”。
3、在出现的输入框中键入要输出的表达式,例如 `”count = ” + count` 或 `{user.name, user.id}`。
4、按 Enter 确认,该行左侧将显示一个带感叹号图标的橙色标记,表示日志点已激活。
二、使用条件日志点过滤输出
为避免日志点在每次执行时都输出冗余信息,可为其附加布尔表达式作为触发条件,仅当表达式求值为 true 时才打印日志。
1、右键已存在的日志点图标,选择 “编辑日志点”。
2、在输入框末尾添加分号后接条件表达式,格式为:` 日志内容; 条件表达式 `。
3、例如输入:`”processing item: ” + item.id; item.id > 100`。
4、保存后,该日志点仅在 item.id 大于 100 时向调试控制台输出信息。
三、通过命令面板快速插入日志点
当鼠标未悬停于代码行或需批量处理时,可借助命令面板统一调用日志点功能,提升操作效率并确保语法一致性。
1、按下快捷键 Cmd+Shift+P(macOS)或 Ctrl+Shift+P(windows/linux)打开命令面板。
2、输入并选择 “Debug: Toggle Log Point” 命令。
3、此时光标所在行将自动创建日志点,编辑区弹出内联输入框。
4、直接输入模板 字符串 或表达式,如 `console.log(“step”, step)`,然后按 Enter 完成。
四、在调试配置中启用日志点支持
部分调试环境默认禁用 Logpoint 功能,需显式在 launch.json 中启用,否则日志点图标可能不生效或被忽略。
1、打开项目根目录下的 .vscode/launch.json 文件。
2、在对应调试配置 对象 中添加字段:“enableLogPoints”: true。
3、若使用 chrome 调试器,还需确认已安装最新版 Debugger for edge 或 Debugger for Chrome 扩展。
4、重启调试会话,确保新配置被加载。