변수 참조
Visual Studio Code는 디버깅과 태스크 구성 파일 그리고 일부 선택된 설정에서 변수 치환을 지원합니다. 변수 치환은 launch.json
과 tasks.json
파일의 일부 키와 값 문자열 내에서 ${variableName} 구문을 사용하여 지원됩니다.
사전 정의 변수
다음과 같은 미리 정의된 변수들이 지원됩니다:
- ${userHome} - 사용자의 홈 폴더 경로
- ${workspaceFolder} - VS Code에서 열린 폴더의 경로
- ${workspaceFolderBasename} - 슬래시(/)가 없는 VS Code에서 열린 폴더의 이름
- ${file} - 현재 열린 파일
- ${fileWorkspaceFolder} - 현재 열린 파일의 작업 공간 폴더
- ${relativeFile} -
workspaceFolder
를 기준으로 한 현재 열린 파일의 상대 경로 - ${relativeFileDirname} -
workspaceFolder
를 기준으로 한 현재 열린 파일의 디렉토리 이름 - ${fileBasename} - 현재 열린 파일의 기본 이름
- ${fileBasenameNoExtension} - 파일 확장자가 없는 현재 열린 파일의 기본 이름
- ${fileExtname} - 현재 열린 파일의 확장자
- ${fileDirname} - 현재 열린 파일의 폴더 경로
- ${fileDirnameBasename} - 현재 열린 파일의 폴더 이름
- ${cwd} - VS Code 시작 시 태스크 실행기의 현재 작업 디렉토리
- ${lineNumber} - 활성 파일에서 현재 선택된 줄 번호
- ${selectedText} - 활성 파일에서 현재 선택된 텍스트
- ${execPath} - 실행 중인 VS Code 실행 파일의 경로
- ${defaultBuildTask} - 기본 빌드 태스크의 이름
- ${pathSeparator} - 운영 체제가 파일 경로의 구성 요소를 구분하는 데 사용하는 문자
- ${/} - **${pathSeparator}**의 단축어
사전 정의 변수 예시
다음과 같은 요구 사항이 있다고 가정해봅시다:
- 에디터에서
/home/your-username/your-project/folder/file.ext
위치의 파일이 열려있음; /home/your-username/your-project
디렉토리가 루트 작업 공간으로 열려있음.
각 변수에 대해 다음과 같은 값을 갖게 됩니다:
- ${userHome} -
/home/your-username
- ${workspaceFolder} -
/home/your-username/your-project
- ${file} -
/home/your-username/your-project/folder/file.ext
- ${workspaceFolderBasename} -
your-project
- ${fileWorkspaceFolder} -
/home/your-username/your-project
- ${relativeFile} -
folder/file.ext
- ${relativeFileDirname} -
folder
- ${fileBasename} -
file.ext
- ${fileBasenameNoExtension} -
file
- ${fileDirname} -
/home/your-username/your-project/folder
- ${fileExtname} -
.ext
- ${lineNumber} - 커서의 줄 번호
- ${selectedText} - 코드 에디터에서 선택한 텍스트
- ${execPath} - Code.exe의 위치
- ${pathSeparator} - macOS나 linux에서는
/
, Windows에서는\
팁
tasks.json
과 launch.json
의 문자열 값 내에서 IntelliSense를 사용하여 미리 정의된 변수의 전체 목록을 얻을 수 있습니다.
작업 공간 폴더별 범위를 가진 변수
루트 폴더의 이름을 변수에 추가(콜론으로 구분)하면 작업 공간의 형제 루트 폴더에 접근할 수 있습니다. 루트 폴더 이름이 없으면 변수는 사용되는 동일한 폴더로 범위가 지정됩니다.
예를 들어, Server
와 Client
폴더가 있는 다중 루트 작업 공간에서 ${workspaceFolder:Client}