VSCode에서 JavaScript 및 TypeScript 파일 디버깅
JS 파일을 디버깅하는 일반적인 방법은 JavaScript 디버그 터미널을 사용하는 것입니다. 이러한 터미널은 메뉴를 통해 열 수 있습니다.
View → Command Palette → JavaScript Debug Terminal
node <file>
를 실행하여 직접 또는 npm run <script>
를 실행하여 패키지 스크립트를 통해 JS 파일에 중단점을 설정하고 터미널에서 디버그하려는 파일을 실행하기만 하면 됩니다. 디버그 터미널은 시작 Node.js 프로세스에 자동으로 연결되고 중단점에서 중지됩니다. ts-node <file>
를 사용하는 경우 TypeScript에서도 작동합니다.디버그 구성
그러나 JavaScript 디버그 터미널을 열고 클릭 한 번으로 현재 열려 있는 JS 또는 TS 파일을 자동으로 실행하는 디버그 구성을 생성하여 이 프로세스를 자동화할 수 있습니다. 먼저 작업 공간에 .vscode 폴더를 생성한 다음 그 안에 .launch.json 파일을 생성해야 합니다. 이 파일은 프로젝트를 실행하거나 디버그하기 위한 옵션 목록을 정의합니다.
{
"version": "0.2.0",
"configurations": [
{
"type": "node-terminal",
"name": "Debug Current JS File (node)",
"request": "launch",
"command": "node -- ${fileBasenameNoExtension}",
"cwd": "${fileDirname}"
},
{
"type": "node-terminal",
"name": "Debug Current TS File (ts-node)",
"request": "launch",
"command": "ts-node -- ${fileBasenameNoExtension}",
"cwd": "${fileDirname}"
},
{
"type": "node-terminal",
"name": "Debug Current Test File (npm run test)",
"request": "launch",
"command": "npm run test -- ${fileBasenameNoExtension}",
"cwd": "${fileDirname}"
}
]
}
구성의 구조를 간략하게 살펴보겠습니다.
type
: 이 경우 JavaScript 디버그 터미널을 통해 Node.js 앱을 디버그하기 위한 구성 유형node-terminal
입니다. name
: 실행 및 디버그 섹션 내 드롭다운 메뉴의 구성 설명입니다. request
: launch
를 통해 새 디버그 세션을 시작하거나 attach
를 통해 이미 실행 중인 프로세스에 연결합니다. command
: 새 디버그 세션을 시작할 때 실행할 터미널의 명령cwd
: 현재 작업 디렉토리, 즉 명령이 실행되는 폴더구성 간의 주요 차이점은 디버그 세션을 시작하기 위해 실행하는 명령입니다. JavaScript로 작업하는 경우 간단히 실행할 수 있습니다
node
. 반면 TypeScript로 작업하는 경우 대신 ts-node
를 사용해야 합니다. 또한 package.json
에서 미리 정의된 NPM 스크립트를 실행하는 것이 유용한 경우가 있습니다. Jest, Mocha, Karma 등과 같은 테스트 라이브러리에서 실행해야 하는 테스트 사례를 디버깅하는 데 특히 유용합니다. 이 경우 npm run test
스크립트를 실행할 수 있습니다.변수
변수
${fileBasenameNoExtension}
및 ${fileDirname}
는 자리 표시자이며 시작 시 대체됩니다. 다음과 같은 미리 정의된 변수가 지원됩니다.${userHome} - the path of the user's home folder
${workspaceFolder} - the path of the folder opened in VS Code
${workspaceFolderBasename} - the name of the folder opened in VS Code without any slashes (/)
${file} - the current opened file
${fileWorkspaceFolder} - the current opened file's workspace folder
${relativeFile} - the current opened file relative to workspaceFolder
${relativeFileDirname} - the current opened file's dirname relative to workspaceFolder
${fileBasename} - the current opened file's basename
${fileBasenameNoExtension} - the current opened file's basename with no file extension
${fileDirname} - the current opened file's dirname
${fileExtname} - the current opened file's extension
${cwd} - the task runner's current working directory upon the startup of VS Code
${lineNumber} - the current selected line number in the active file
${selectedText} - the current selected text in the active file
${execPath} - the path to the running VS Code executable
${defaultBuildTask} - the name of the default build task
${pathSeparator} - the character used by the operating system to separate components in file paths
전체 변수 참조는 VSCode documentation에서 사용할 수 있습니다.
실행 및 디버그
마지막으로 시도해 보겠습니다. 왼쪽 사이드바에서 실행 및 디버그 섹션을 열고 디버그하려는 파일에 따라 방금 생성한 구성 중 하나를 선택합니다. Node.js에서 샘플 서버 스크립트를 빠르게 가져왔습니다. 그런 다음 중단점을 설정하고 상단의 실행 아이콘을 클릭하여 디버그 세션을 시작합니다.
Reference
이 문제에 관하여(VSCode에서 JavaScript 및 TypeScript 파일 디버깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zirkelc/debug-your-javascript-and-typescript-files-in-vscode-aja텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)