vs code 설정 c/c++환경의 상세 한 튜 토리 얼(추천)

14350 단어 vscodec + +환경.
앞 에 써 있 는 말.
이 설정 방법 은 어차피 win 10 에서 사용 할 수 있 습 니 다.제 노트북 은 win 10 시스템 입 니 다.그러나 실험실 에서 꾸 물 거 리 는 선배 의 본 체 는 win 7 시스템 이다.이치 상 이 설정 은 시스템 을 가리 지 않 는 것 일 까?하지만 저 는 며칠 동안 괴 롭 혔 습 니 다.블 로그 의 설정 방법 을 많이 봤 고 조금 아 는 사람 에 게 도 물 어 봤 습 니 다.제 문 제 를 해결 할 수 있 는 사람 이 하나 도 없 었 고 제 문 제 를 해결 할 수 있 는 사람 도 있 었 으 면 좋 겠 습 니 다.제 vscode 문 제 는 c++컴 파일 만 실행 할 수 있 고 debug 가 불가능 합 니 다.F5 를 누 를 때마다 깜빡 지나 가 디 버 깅 이 불가능 합 니 다.다시 누 르 면 디 버 깅 프로그램 이 실행 되 고 있 음 을 표시 합 니 다.2019.5.3
실험실 에서 나 는 시스템 을 바 꾸 었 다.내 가 오랫동안 좋아 했 던 ubuntu 18.04 를 사용 했다.
vs 코드 설정 c/c+환경
평소에 경기 에서 요구 하 는 것 은 codeblocks 이지 만 어색 한 것 은 codeblocks 의 그 화면 을 좋아 하지 않 습 니 다.평소에 프로 그래 밍 을 하 는 것 이 너무 하 얗 고 눈 이 아 픕 니 다.게다가 최근 에 개인 블 로 그 를 계속 괴 롭 히 고 있 습 니 다.전단 에 대해 서 는 기본 이 없 지만 vs code 를 사용 하 는 것 이 괜 찮 은 것 을 알 고 있 습 니 다.그래서 나 는 또 소란 을 피 우 는 정신 을 시작 했다.평소 프로 그래 밍 도 vs code 를 통 해 c++를 컴 파일 할 수 있 기 를 바 랍 니 다.그러나 정상 적 인 상황 에서 vs code 는 c+컴 파일 에 우호 적 이지 않 습 니 다.그래서 c++프로그램 을 성공 적 으로 컴 파일 하려 면 스스로 설정 해 야 합 니 다.하지만 내 가 인터넷 에서 찾 아 낸 튜 토리 얼 은 내 문 제 를 한 번 에 해결 할 수 있 는 것 이 매우 적다.그래서 몇 편의 블 로 그 를 참고 하여 총 결 했 습 니 다.
2019.8.6 업데이트 글(파일 생 성 위치 변경)
변경 할 필요 가 없 거나 C/C++를 컴 파일 하기 위해 서 만 아래 를 내 려 다 볼 수 있 습 니 다.
이것 은 Linux 의 것 입 니 다.windows 가 필요 하 다 면 직접 해 보 세 요.구체 적 으로 많이 다 르 지 않 을 것 입 니 다.
파일 할당 이 아름 답지 않 기 때문에(내 가 사용 하 는 파일 이 비교적 많아 서 생 성 된.o 파일 이 모두 쌓 여 있 고 못 생 겼 다)나 는 파일 을 컴 파일 할 때 생 성 된 a/a.o 파일 을 위 치 를 바 꾸 어 실행 했다.처음에 명령 행 명령 을 통 해 다른 위치 에서 파일 을 생 성 하려 고 했 지만 나 는 이런 명령 을 찾 지 못 했다.그리고 컴 파일 할 때 실행 되 는 명령 이 이 렇 습 니 다cd "/home/acm/Documents/acm/" && g++ A.cpp -o A && "/home/acm/Documents/acm/"A.그래서 저 는 컴 파일 된 명령 에 이동 파일 명령mv A /home/acm/Documents/acm/Documents/을 추가 하기 로 했 습 니 다.그러면 생 성 파일 을 acm 디 렉 터 리 에 있 는 Documents 폴 더 에 두 고 여러 개의 a/a.o 파일 이 acm 디 렉 터 리 에 쌓 이지 않 습 니 다.그리고 task.json 파일 은 제 가 찾 지 못 한 수정 방법 입 니 다.'command'를 수정 하여 실현 할 수 있 을 것 입 니 다.스 크 립 트 를 실행 할 수 있 지만 저 는 쓸 수 없습니다.그래서 저 는 code-runner 의 명령 을 수정 해서 이 루어 졌 습 니 다.다음 그림 은 제 가 수정 한 vs code 입 니 다.
在这里插入图片描述
실현 방법
code-runner 를 설치 한 후 settings.json 에서 code-runner.executorMap 을 찾 아 그 중의cpp"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && mv $fileNameWithoutExt $dir/Documents/$fileNameWithoutExt && $dir/Documents/$fileNameWithoutExt",로 수정 합 니 다.그 중의 Documents 는 제 디 렉 터 리 입 니 다.스스로 수정 하 십시오.다른 컴 파일 명령 도 수정 할 수 있 습 니 다.
내 전체 파일 의 구 조 는 그림 과 같다.
在这里插入图片描述
위 는 정상 적 인 컴 파일 실행 이 고,또 하 나 는 디 버 깅 생 성 파일 입 니 다.여기 서 launch.json 을 수정 하면 됩 니 다.
위치 변경 task.json

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "command": "g++",
 "args": [
 "-g", 
 "-std=c++11", 
 // "${workspaceFolder}/${file}",
 // "${file}", 
 "${workspaceFolder}/${fileBasenameNoExtension}.cpp",
 "-o", 
 "${workspaceFolder}/Documents/${fileBasenameNoExtension}.o",
 ],//       
 "problemMatcher":{
 "owner": "cpp",
 "fileLocation":[
 "relative",
 "${workspaceFolder}/Documents"
 ],
 "pattern":[
 {
 "regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
 "file": 1,
 "location": 2,
 //"message": 3
 }
 ]
 },
 "group": {
 "kind": "build",
 "isDefault": true
 }
}
//"command": "g++",
launch.json

{
 // 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": "(gdb) Launch",
 "type": "cppdbg",
 "request": "launch",
 "program": "${workspaceFolder}/Documents/${fileBasenameNoExtension}.o",
 "args": [],
 "stopAtEntry": false,
 "cwd": "${workspaceFolder}/Documents",
 "environment": [],
 "externalConsole": false,
 "MIMode": "gdb",
 "miDebuggerPath": "/usr/bin/gdb",
 "preLaunchTask": "g++",
 "setupCommands": [
 {
 "description": "Enable pretty-printing for gdb",
 "text": "-enable-pretty-printing",
 "ignoreFailures": true
 }
 ]
 },
 ]
}
//"program": "${workspaceFolder}/${fileBasenameNoExtension}.o",
//"cwd": "${workspaceFolder}",
2019.4.3 업데이트 글
요즘 세 파일 에 있 는 ccpp_properties.json 이 잘못 보고 할 수 있 습 니 다.저도 잘못 보고 한 구체 적 인 원인 을 모 르 겠 습 니 다.버 전 업데이트 때 문인 것 같 습 니 다.몇 달 전 vscode 에서 설정 할 수 있 을 때 c 를 추가 하지 않 아 도 됩 니 다.cpp_properties.json 이 파일 입 니 다.나머지 두 파일 을 따로 업데이트 하 세 요.최근 에 컴퓨터 를 다시 설 치 했 기 때문에 스스로 튜 토리 얼 을 다시 찾 아 설정 했다.
tasks.json

 {
 "version": "2.0.0",
 "tasks": [
 {
 "label": "Build",
 "command": "g++",
 "args": [
 "-g",
 "-Wall",
 "-std=c++11",
 "-lm",
 "${file}",
 "-o",
 "${fileDirname}/${fileBasenameNoExtension}.exe"
 ],
 "presentation": {
 "reveal": "always",
 "echo": false,
 "focus": true
 },
 "problemMatcher": {
 "owner": "cpp",
 "fileLocation": "absolute",
 "pattern": {
 "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
 "file": 1,
 "line": 2,
 "column": 3,
 "severity": 4,
 "message": 5
 }
 }
 },

 {
 "label": "Run",
 "type": "shell",
 "dependsOn": "Build",
 "command": "${fileDirname}/${fileBasenameNoExtension}.exe",
 "args": [],
 "presentation": {
 "reveal": "always",
 "focus": true
 },
 "problemMatcher": [],
 "group": {
 "kind": "test",
 "isDefault": true
 }
 }
 ]
}
launch.json

{
 // 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": "(gdb) Launch",
 "type": "cppdbg",
 "request": "launch",
 "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
 "args": [],
 "stopAtEntry": false,
 "cwd": "${workspaceFolder}",
 "externalConsole": false, //    ,    vscode     ,          true
 "MIMode": "gdb",
 "miDebuggerPath": "E:\\vs code\\MinGW\\mingw64\\bin\\gdb.exe",
 "setupCommands": [
 {
 "description": "Enable pretty-printing for gdb",
 "text": "-enable-pretty-printing",
 "ignoreFailures": true
 }
 ],
 "preLaunchTask": "Build"
 }
 ]

}
참고 블 로그
Visual Studio Code(vscode)컴 파일 C++
정리:Visual Studio Code(vscode)설정 C,C++환경/실행 C,C++(Windows)작성
Visual Studio 코드 다운로드
다운로드 주소
플러그 인 설치
ctrl+shift+x 를 선택 하여 상점 에서 검색 하거나 ctrl+shift+p 를 선택 하여 명령 상 자 를 열 어 입력 할 수 있 습 니 다.

ext install cpptools
이 플러그 인 설치
cpptools
MinGW-W64 설치,환경 설정
MinGW 업데이트 안 한다 고?그래서 MinGW-W64 를 설치 합 니 다.
Windows MinGW DOWNLOAD
在这里插入图片描述
설치 과정 은 자신의 컴퓨터 가 32 비트 인지 64 비트 인지 주의 하 세 요.다른 기본 값 이면 됩 니 다.자신의 다운로드 주 소 를 추가 로 주의해 서 사용 해 야 합 니 다.
在这里插入图片描述
그리고 내 컴퓨터 를 켜 라->속성->고급 시스템 설정->환경 변수
在这里插入图片描述
새로 만 들 기 를 선택 하 십시오.방금 기억 한 E:\vs code\mingw\\mingw 64\\bin 을 추가 하고 종료 하 십시오.이것 은 당신 의 설치 주소 일 것 입 니 다.
설정 이 완료 되 었 는 지 확인 하 십시오.
명령 프롬프트 입력 열기

gcc -v
在这里插入图片描述
설정 vs code
在这里插入图片描述
작업 영역 으로 폴 더 를 찾 은 다음 이 작업 영역 아래 에 새 폴 더 를 만 듭 니 다.이름 은.vscode입 니 다.주의 점 은 없어 서 는 안 됩 니 다.그리고 당신 이 만 든.vscode폴 더 아래 세 개의.json파일 을 만 듭 니 다.각각 tasks.json,launch.json,c 입 니 다.cpp_properties.json。
설정 내용 은 다음 과 같 습 니 다.
tasks.json

{
 "version": "2.0.0",
 "command": "g++",
 "args": ["-g","-std=c++11","${file}","-o","${workspaceRoot}\\${fileBasename}.exe"],
 "problemMatcher": {
 "owner": "cpp",
 "fileLocation": ["relative", "${workspaceRoot}"],
 "pattern": {
 "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
 "file": 1,
 "line": 2,
 "column": 3,
 "severity": 4,
 "message": 5
 }
 }
}
launch.json

{
 "version": "0.2.0",
 "configurations": [
 {
 "name": "C++ Launch (GDB)", 
 "type": "cppdbg", 
 "request": "launch", 
 "targetArchitecture": "x86", 
 "program": "${workspaceRoot}\\${fileBasename}.exe", 
 "miDebuggerPath":"E:/vs code/mingw/mingw64/bin/gdb.exe", 
 "args": [], 
 "stopAtEntry": false, 
 "cwd": "${workspaceRoot}", 
 "externalConsole": true, 
 "preLaunchTask": "g++"   
 }
 ]
 }
c_cpp_properties.json

{
 "configurations": [
 {
 "name": "Win32",
 "includePath": [
 "${workspaceRoot}",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tr1",
 "E:/vs code/mingw/mingw64/x86_64-w64-mingw32/include"
 ],
 "defines": [
 "_DEBUG",
 "UNICODE",
 "__GNUC__=6",
 "__cdecl=__attribute__((__cdecl__))"
 ],
 "intelliSenseMode": "msvc-x64",
 "browse": {
 "path": [
 "${workspaceRoot}",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
 "E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/tr1",
 "E:/vs code/mingw/mingw64/x86_64-w64-mingw32/include"
 ]
 },
 "limitSymbolsToIncludedHeaders": true,
 "databaseFilename": "",
 "compilerPath": "E:\\vs code\\mingw\\mingw64\\bin\\gcc.exe",
 "cStandard": "c11",
 "cppStandard": "c++17"
 }
 ],
 "version": 4
}
그 중에서 특히 주의해 야 할 것 은 설치 위치 입 니 다.설정 할 때 제 것 을 참고 하여 자신 이 설치 한 위 치 를 찾 으 세 요.
그리고 일부 주소 에 입력 하면 사용 할 수 없습니다\분할 사용/또는\\예 를 들 어E:/vs code/mingw/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++E:/vs code/mingw 는 제 가 설치 할 때 선택 한 폴 더 입 니 다.mingw 64 부터 모두 설치 할 때 자신 이 나타 난 파일 입 니 다.따라서 붙 여 넣 기 를 직접 복사 하지 말고 설치 위 치 를 주의 하 십시오.
이렇게 기본 설정 이 끝 났 습 니 다.클래식 Hello World 를 테스트 해 보 세 요.

#include<iostream>
using namespace std;
int main()
{
 cout<<"Hello World!"<<endl;
 return 0;
}
F6 를 직접 실행 하거나 return 0 에 정지점 을 추가 하고 F5 를 선택 하면 설정 이 완료 되 었 는 지 성공 적 으로 테스트 할 수 있 습 니 다.근 데 인 터 럽 트 를 넣 어서 출력 하 는 게 더 예 쁠 것 같 아 요.
물론 배치 과정 에서 문제 가 적지 않 을 것 으로 예상 된다.만약 내 가 언급 하지 않 은 문제 가 있다 면,너 는 나 에 게 메 일 을 보 낼 수 있다[email protected] 창고 에 직접 issue 를 추가 하 는 것 을 추천 합 니 다.나 는 내 가 철저하게 해결 할 수 있 을 것 이 라 고 장담 할 수 는 없 지만,issues 에 서 는 항상 큰 사람 이 질문 에 대답 할 것 이다.
vs code 설정 c/c++환경 에 대한 자세 한 튜 토리 얼(추천)을 소개 합 니 다.

좋은 웹페이지 즐겨찾기