【问题标题】:Debugging typescript app with console input at runtime在运行时使用控制台输入调试打字稿应用程序
【发布时间】:2020-08-17 00:54:46
【问题描述】:

我正在尝试学习 typescript 并寻求在 VS 代码中设置调试器支持的帮助。这是我的示例 TS 应用程序,它是一个独立应用程序,仅在控制台中根据控制台输入的数据打印“Hello World”文本。应用程序启动后如何提供控制台输入?我在第 6 行的 console.log 中放置了一个断点,启动时执行停止。但我想输入运行时控制台输入并在第 4 行检查 console.log。

索引.ts:

class Startup {
    public static main(): number {
        process.stdin.on("data",(buffer) => {
            console.log("Hello World);
        });
        console.log("Test breakpoint");
        return 0;
    }
}
Startup.main();

Launch.json {

"version": "0.2.0",
"configurations": [
    {
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "skipFiles": [
            "<node_internals>/**"
        ],
        "preLaunchTask": "tsc: build - src/tsconfig.json",
        "program": "${workspaceFolder}/src/index.ts",
        "outFiles": ["${workspaceFolder}/dist/**/*.js"]
    }
]

}

【问题讨论】:

    标签: javascript typescript debugging visual-studio-code


    【解决方案1】:

    vscode 的Debug Console 不支持输入,因此您需要一个不同的终端来支持,集成的终端就可以了。为了将调试执行从Debug Console 移动到Terminal,只需将设置添加到您的launch.json

    {
        ...
        "console": "integratedTerminal"
        ...
    }
    

    然后再次运行调试器。这样你就可以输入到命令行提示符了。

    【讨论】:

    • 是的,它有效。谢谢。有了这个配置,现在 vs 代码调试器会使用默认的系统终端吗?
    • vscode中默认配置的那个(一般是系统默认,但可以更改)。
    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多