是否有一种方法来执行JavaScript和显示使用Visual Studio代码的结果?

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

console.log('hello world');

我假设Node.js是需要的,但不知道如何做到这一点?

通过Visual Studio Code,我指的是来自微软的新代码编辑器 不是用Visual Studio编写的代码。


当前回答

你不需要在visual studio代码中设置运行javascript、python等代码的环境,你所要做的就是安装代码运行器扩展,然后选择你想要运行的代码的一部分,然后点击右上角的运行按钮。

其他回答

我建议你使用一个简单易用的插件,叫做Quokka,它现在非常流行,可以帮助你在运行中调试代码。 Quokka.js。使用这个插件最大的好处是你可以节省很多时间去浏览网页浏览器和评估你的代码,有了这个帮助,你可以看到在VS代码中发生的一切,这节省了很多时间。

我很惊讶居然没有人提到这一点:

只需在VS Code中打开有问题的.js文件,切换到“调试控制台”选项卡,点击左侧导航栏中的调试按钮,然后点击运行图标(播放按钮)!

需要安装nodejs !

这个解决方案打算运行当前打开的文件在节点和显示输出在VSCode。

我也有同样的问题,并且发现新引入的任务对于这个特定的用例很有用。这有点麻烦,但我是这么做的:

在项目的根目录中创建一个.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 > type ' run task ' > enter > select ' runFile ' > enter 来运行任务,但我发现为打开任务列表添加自定义键绑定更容易。

要添加键绑定,在VSCode UI菜单中,点击“Code”>“Preferences”>“Keyboard Shortcuts”。添加到你的键盘快捷键:

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

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

更新:

假设您正在运行JavaScript代码来测试它,您可以通过将其isTestCommand属性设置为true来将您的任务标记为测试任务,然后您可以将一个键绑定到workbench.action.tasks.test命令以进行单动作调用。

换句话说,就是你的任务。Json文件现在将包含:

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

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

...还有你的按键。Json文件现在将包含:

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

从v1.32开始,这可能是最简单的:

{
    "key": "ctrl+shift+t",
    "command": "workbench.action.terminal.sendSequence",
    "args": { "text": "node '${file}'\u000D" }
  }

使用您自己的键绑定。

参见发布说明:sendSequence和变量。

使用vscode v1.32,您可以使用像${file}这样的变量将sequence发送到终端,这是当前文件。如果你想要一些其他的路径,在上面的键绑定中用你的路径名替换${file}。

\u000D是一个返回,因此它将立即运行。

我在${file}变量周围添加了's,以防你的文件路径中有空格, 比如c:Users\Some Directory\fileToRun

集成终端的快捷方式是ctrl + ',然后键入node <filename>。

或者,您可以创建一个任务。这是唯一的代码在我的tasks.json:

{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "node",
"isShellCommand": true,
"args": ["${file}"],
"showOutput": "always"
}

从这里创建一个捷径。这是我的keybindings.json:

// Place your key bindings in this file to overwrite the defaults
[
{   "key": "cmd+r",
"command": "workbench.action.tasks.runTask"
},
{   "key": "cmd+e",
"command": "workbench.action.output.toggleOutput"
}
]

这将在命令面板中打开“运行”,但你仍然需要用鼠标键入或选择你想要运行的任务,在这种情况下是节点。第二个快捷键切换输出面板,它已经有一个快捷键,但这些键彼此相邻,更容易使用。