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

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

console.log('hello world');

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

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


当前回答

在Visual Studio Code中运行javascript有很多方法。

如果您使用Node,那么我建议使用VSC中的标准调试器。

我通常创建一个虚拟文件,比如test.js,在那里我做外部测试。

在存放代码的文件夹中,创建名为“”的文件夹。然后创建一个名为launch。json的文件

在此文件中粘贴以下内容并保存。现在您有两个选项来测试您的代码。

当你选择“Nodemon Test File”时,你需要把你的代码放在Test .js中进行测试。

要安装nodemon以及更多关于如何在VSC中调试nodemon的信息,我建议阅读这篇文章,它更详细地解释了发布的第二部分。json文件和如何调试在ExpressJS。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Nodemon Test File",
            "runtimeExecutable": "nodemon",
            "program": "${workspaceFolder}/test.js",
            "restart": true,
            "console": "integratedTerminal",
            "internalConsoleOptions": "neverOpen"
        },
        {
            "type": "node",
            "request": "attach",
            "name": "Node: Nodemon",
            "processId": "${command:PickProcess}",
            "restart": true,
            "protocol": "inspector",
        },
    ]
}

其他回答

集成终端的快捷方式是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"
}
]

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

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

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

需要安装nodejs !

用npm安装nodemon Init nodemon: npm Init 打开的包。Json,并将其更改为: { “名称”:“JavaScript”, “版本”:“1.0.0”, “描述”:“”, “主要”:“{文件名}. js”, "脚本":{ "test": "echo \"错误:没有测试指定的\" && exit 1", "start": "nodemon {filename}.js" }, “关键词”:[], “作者”:“”, “许可证”:“ISC” } 在终端上写这个命令:npm start

这很简单,当你在VS Code中创建一个新文件并运行它时,如果你还没有配置文件,它会为你创建一个,你唯一需要设置的是“program”值,并将其设置为你的主JS文件的路径,如下所示:

{
    "version": "0.1.0",
    // List of configurations. Add new configurations or edit existing ones.  
    // ONLY "node" and "mono" are supported, change "type" to switch.
    // ABSOLUTE paths are required for no folder workspaces.
    "configurations": [
        {
            // Name of configuration; appears in the launch configuration drop down menu.
            "name": "Launch",
            // Type of configuration. Possible values: "node", "mono".
            "type": "node",
            // ABSOLUTE path to the program.
            "program": "C:\\test.js", //HERE YOU PLACE THE MAIN JS FILE
            // Automatically stop program after launch.
            "stopOnEntry": false,
            // Command line arguments passed to the program.
            "args": [],
            // ABSOLUTE path to the working directory of the program being debugged. Default is the directory of the program.
            "cwd": "",
            // ABSOLUTE path to the runtime executable to be used. Default is the runtime executable on the PATH.
            "runtimeExecutable": null,
            // Optional arguments passed to the runtime executable.
            "runtimeArgs": [],
            // Environment variables passed to the program.
            "env": { },
            // Use JavaScript source maps (if they exist).
            "sourceMaps": false,
            // If JavaScript source maps are enabled, the generated code is expected in this directory.
            "outDir": null
        }, 
        {
            "name": "Attach",
            "type": "node",
            // TCP/IP address. Default is "localhost".
            "address": "localhost",
            // Port to attach to.
            "port": 5858,
            "sourceMaps": false
        }
    ]
}

为了简单地运行代码并在控制台上显示输出,您可以创建一个任务并执行它,就像@canerbalci提到的那样。

这样做的缺点是,你只能得到输出,仅此而已。

我真正喜欢做的是能够调试代码,让我们说我试图解决一个小算法或尝试一个新的ES6功能,我运行它,有一些可疑的东西,我可以在VSC中调试它。

因此,我没有为它创建一个任务,而是修改了.vscode/launch。Json文件,如下所示:

{
"version": "0.2.0",
"configurations": [
    {
        "name": "Launch",
        "type": "node",
        "request": "launch",
        "program": "${file}",
        "stopOnEntry": true,
        "args": [],
        "cwd": "${fileDirname}",
        "runtimeExecutable": null,
        "runtimeArgs": [
            "--nolazy"
        ],
        "env": {
            "NODE_ENV": "development"
        },
        "externalConsole": false,
        "sourceMaps": false,
        "outDir": null
    }
]
}

这将在VSC的调试器中启动您当前所在的文件。它设置在启动时停止。

要启动它,在要调试的文件中按F5键。