Er det mulig å kjøre javascript og vise resultatene ved hjelp av Visual Studio Code?
For eksempel en skriptfil som inneholder
console.log('hello world');
Jeg antar at nodejs ville være nødvendig, men kan ikke finne ut hvordan man gjør det?
EDIT: Med "Visual Studio Code" mener jeg den nye kodeeditoren fra Microsoft - ikke kode skrevet med Visual Studio.
**Denne løsningen har til hensikt å kjøre den åpne filen i node og vise resultatet i VSCode.
Jeg hadde det samme spørsmålet og fant nylig introduserte oppgaver
nyttig for dette spesifikke brukstilfellet. Det er litt bryderi, men her er hva jeg gjorde:
Opprett en .vscode
-katalog i roten av prosjektet og opprett en tasks.json
-fil i den. Legg til denne oppgavedefinisjonen i filen:
{
"version": "0.1.0",
"command": "node",
"isShellCommand": true,
"args": [
"--harmony"
],
"tasks": [
{
"taskName": "runFile",
"suppressTaskName": true,
"showOutput": "always",
"problemMatcher": "$jshint",
"args": ["${file}"]
}
]
}
Deretter kan du gjøre det:
``trykk F1 > skriv
run task> enter > velg
runFile` > enter````.
for å kjøre oppgaven, men jeg syntes det var enklere å legge til en egendefinert tastebinding for å åpne oppgavelister.
For å legge til tastebindingen, i VSCode UI-menyen, gå til 'Code' > 'Preferences' > 'Keyboard Shortcuts'. Legg til dette i tastatursnarveiene:
{
"key": "cmd+r",
"command": "workbench.action.tasks.runTask"
}
Du kan selvfølgelig velge hva du vil som tastekombinasjon.
UPDATE:
Hvis du antar at du kjører JavaScript-koden for å teste den, kan du markere oppgaven som en test-oppgave ved å sette isTestCommand
-egenskapen til true
, og deretter kan du binde en tast til `workbench.action.tasks.test
-kommandoen for en enkelt handling.
Med andre ord vil filen tasks.json
nå inneholde:
{
"version": "0.1.0",
"command": "node",
"isShellCommand": true,
"args": [
"--harmony"
],
"tasks": [
{
"taskName": "runFile",
"isTestCommand": true,
"suppressTaskName": true,
"showOutput": "always",
"problemMatcher": "$jshint",
"args": ["${file}"]
}
]
}
...og filen keybindings.json
vil nå inneholde:
{
"key": "cmd+r",
"command": "workbench.action.tasks.test"
}
Hvis du bare vil kjøre koden og vise resultatet på konsollen, kan du opprette en oppgave og kjøre den, omtrent som @canerbalci nevner.
Ulempen med dette er at du bare får utdataene, og det er alt.
Det jeg virkelig liker å gjøre er å kunne feilsøke koden, la oss si at jeg prøver å løse en liten algoritme eller prøver en ny ES6-funksjon, og jeg kjører den og det er noe som ikke stemmer, jeg kan feilsøke det inne i VSC.
Så i stedet for å opprette en oppgave for det, endret jeg .vscode/launch.json-filen i denne katalogen som følger:
{
"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
}
]
}
Det dette gjør, er at den starter den filen du er inne i for øyeblikket, i feilsøkingsprogrammet i VSC. Den er satt til å stoppe ved start.
Du starter den ved å trykke på F5-tasten i filen du vil feilsøke.
Det er veldig enkelt, når du oppretter en ny fil i VS Code og kjører den, hvis du ikke allerede har en konfigurasjonsfil, oppretter den en for deg, det eneste du trenger å konfigurere er "program" -verdien, og angi den til banen til din viktigste JS-fil, ser slik ut:
{
"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
}
]
}