와이유스토리

[VSCode] Visual Studio를 이용한 C/C++ 환경 세팅 본문

프로젝트

[VSCode] Visual Studio를 이용한 C/C++ 환경 세팅

유(YOO) 2023. 8. 21. 18:23

1. VSCode에서 Workspace 열기

Visual Studio에서 생성한 프로젝트 폴더를 VSCode에서 Workspace 지정

2. C/C++ Extension 설치

Extension에 들어가 C/C++를 설치한다.

3. 환경변수 설정

환경변수 Path에 아래 경로를 추가한다.

위 경로는 VsDevCmd.bat, 아래 경로는 cl.exe를 나타낸다.

버전은 자신의 컴퓨터에 설치된 버전으로 수정해서 사용하면 된다.

Visual Studio를 설치할 때, Build Tools를 설치했다면 Community 대신 사용 가능하다.

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x86

4. Build : .vscode 폴더 안에 tasks.json 생성

Terminal > Configure Default Build Task를 실행해 tasks.json을 생성한다.

VsDevCmd.bat을 실행한 터미널에서 cl.exe /Zi /EHsc /nologo "/Fe./main.exe" "./main.cpp"을 실행하는 task이다.

아래와 같이 tasks.json을 설정하고, Ctrl+Shift+B를 실행하면 Build 성공/실패 여부가 터미널에 나온다.

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: cl.exe build active file",
			"command": "%BUILD%",
			"args": [
				"/Zi",
				"/EHsc",
				"/nologo",
				"/Fe${fileDirname}\\${fileBasenameNoExtension}.exe",
				"${file}"
			],
			"options": {
				"cwd": "${fileDirname}",
				"env": {
					"BUILD": "VsDevCmd.bat && cl.exe"
				}
			},
			"problemMatcher": [
				"$msCompile"
			],
			"group": "build",
			"detail": "compiler: cl.exe"
		}
	]
}

5. Run : .vscode 폴더 안에 launch.json 생성

Ctrl+F5를 실행하면 launch.json을 자동 생성해주지만, 에러가 났다.

아래 configuratioins의 program 경로를 빌드 후 "cpp파일이름.exe"가 있는 경로로 수정해줘야 한다.

그래서 중간에 CProject라는 프로젝트명을 추가해주었더니 실행되었다.

윈도우 cmd에서 C:\WINDOWS\system32\cmd.exe main.exe을 실행하는 파일이다.

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "c/c++ launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/CProject/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "console": "internalConsole"
        }
    ]
}

 

추가) 빌드 & 컴파일 동시 실행

1. tasks.json 수정

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: cl.exe build active file",
			"command": "%BUILD%",
			"args": [
				"/Zi",
				"/EHsc",
				"/nologo",
				"/Fe${fileDirname}\\${fileBasenameNoExtension}.exe",
				"${file}"
			],
			"options": {
				"cwd": "${fileDirname}",
				"env": {
					"BUILD": "VsDevCmd.bat && execute.bat"
				}
			},
			"problemMatcher": [
				"$msCompile"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "compiler: cl.exe"
		},
		{
			"label": "cpprun",
			"command": "cmd",
			"group": "test",
			"args": [
			  "/C",
			  "${workspaceFolder}/CProject/${fileBasenameNoExtension}"
			]
		}
	]
}

2. main.exe 실행파일 있는 폴더에 아래 execute.bat 저장

@echo off
call cl.exe /Zi /EHsc /nologo "/Fe실행파일경로\main.exe" "cpp파일경로\main.cpp"
call main.exe

3. 단축키 ctrl+shift+B를 누르면 동시 실행

 

* 참고

https://whale-order.tistory.com/8

https://kindtis.tistory.com/610

https://qna.programmers.co.kr/questions/10936/visual-studio-code-cc-%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%97%90%EB%9F%AC-c1034-iostream-%ED%8F%AC%ED%95%A8-%EA%B2%BD%EB%A1%9C%EB%A5%BC-%EC%84%A4%EC%A0%95%ED%95%98%EC%A7%80-%EC%95%8A%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4

 

 

Comments