visual-studio-code - 在 VSCode 扩展中检测 Debug模式

标签 visual-studio-code vscode-extensions

我正在开发一个 VSCode 扩展,我想编写一个简单的日志记录实用程序,该实用程序仅在调试期间记录到控制台,否则,这是一个空操作。

扩展中是否有可用的标志或值指示当前正在进行调试?

最佳答案

如果有人仍然需要它,一种解决方案是在 Debug模式下启动客户端时使用自定义环境变量。

在您的 launch.json 文件:

{
    "type": "extensionHost",
    "request": "launch",
    "name": "Launch Client",
    "runtimeExecutable": "${execPath}",
    "args": ["--extensionDevelopmentPath=${workspaceRoot}"],
    "outFiles": ["${workspaceRoot}/client/out/**/*.js"],
    "env": {
        "VSCODE_DEBUG_MODE": "true"
    }
}

然后,您可以像这样在代码中检查它:
const isDebugMode = () => process.env.VSCODE_DEBUG_MODE === "true";

export function activate(context: ExtensionContext) {
  if (isDebugMode()) {
    // Debug ...
  } else {
    // Else ...
  }
}

关于visual-studio-code - 在 VSCode 扩展中检测 Debug模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42397699/

相关文章:

node.js - 是否可以调试 Node 内部模块?

typescript - JSON 完成的自定义扩展在双引号中不起作用

bash - 使用docker-compose run -rm时的前缀

visual-studio-code - 创建了我自己的 viewsContainer - 我可以包含来自其他 viewsContainer 的 View 吗?

visual-studio-code - Visual Studio 代码扩展 - 获取非文本文件的事件选项卡数据

python - VScode扩展: CODE RUNNER and PYTHON PREVIEWER do not use the interpreter I select

c# - VS Code Intellisense 未在 C# 中显示建议

nuxt.js - 如何在现有 Nuxt.js 项目中从 eslint-config-prettier 切换到 prettier-eslint?

visual-studio-code - 如何将CLI参数与从源代码构建的vscode一起使用?

visual-studio-code - 当我在 README 文件中使用 HTML 标签时,为什么图像无法显示在 VS Code 扩展库中?