一尘不染

在Visual Studio Code中运行JavaScript

node.js

有没有一种方法可以执行JavaScript并使用 Visual Studio Code 显示结果?

例如,一个脚本文件包含:

console.log('hello world');

我假设需要Node.js,但无法解决该怎么做?

通过 Visual Studio代码 我的意思是,从微软新的代码编辑器-
使用Visual Studio编写的代码没有。


阅读 1010

收藏
2020-07-07

共1个答案

一尘不染

该解决方案旨在在节点中运行当前打开的文件,并以VSCode显示输出。

我有同样的问题,发现新引入的tasks方法对此特定用例有用。这有点麻烦,但这是我所做的:

.vscode在项目的根目录中创建一个目录,并tasks.json在其中创建一个文件。将此任务定义添加到文件中:

{
    "version": "0.1.0",
    "command": "node",
    "isShellCommand": true,
    "args": [
        "--harmony"
    ],

    "tasks": [
        {
            "taskName": "runFile",
            "suppressTaskName": true,
            "showOutput": "always",
            "problemMatcher": "$jshint",
            "args": ["${file}"]
        }
    ]
}

然后,您可以: press F1 > typerun task> enter > selectrunFile> enter
运行任务,但是我发现为打开任务列表添加自定义键绑定更加容易。

要添加键绑定,请在VSCode UI菜单中转到“代码”>“首选项”>“键盘快捷键”。将此添加到键盘快捷键:

{
    "key": "cmd+r",
    "command": "workbench.action.tasks.runTask"
}

当然,您可以选择任何您想要的键组合。

更新:

假设您正在运行JavaScript代码对其进行 测试
,可以通过将其属性设置为来将任务标记为
测试
任务,然后可以将键绑定到命令以进行单次操作。isTestCommandtrueworkbench.action.tasks.test

换句话说,您的tasks.json文件现在将包含:

{
    "version": "0.1.0",
    "command": "node",
    "isShellCommand": true,
    "args": [
        "--harmony"
    ],

    "tasks": [
        {
            "taskName": "runFile",
            "isTestCommand": true,
            "suppressTaskName": true,
            "showOutput": "always",
            "problemMatcher": "$jshint",
            "args": ["${file}"]
        }
    ]
}

…您的keybindings.json文件现在将包含:

{
    "key": "cmd+r",
    "command": "workbench.action.tasks.test"
}
2020-07-07