vscode 세팅

일단 이건 공통적으로 쓰이는 settings.json이다.


settings.json
{
    "emmet.triggerExpansionOnTab": true,
    
    /*
    "emmet.showExpandedAbbreviation" :"always",
    "emmet.showSuggestionsAsSnippets":true,
    "editor.snippetSuggestions": "top",
    
    */

    "window.zoomLevel": -1,
    "editor.fontSize": 18,
    "workbench.sideBar.location": "left",
    "mongo.shell.path": "/Users/abcd/downloads/bin/mongo",
    "C_Cpp.default.cppStandard": "c++11",
    "cmake-tools-helper.cmake_download_path": "/Users/abcd/.vscode/extensions/maddouri.cmake-tools-helper-0.2.1/cmake_download",
    "C_Cpp.updateChannel": "Insiders",
    "debug.console.fontSize": 21,
    //"python.pythonPath": "/usr/bin/python",
    "terminal.integrated.fontFamily" : "Ubuntu Mono derivative Powerline",
    "terminal.integrated.fontSize": 21,
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "python.jediEnabled": false,    
    "python.pythonPath": "/Users/abcd/python_venv/bin/python",
    
}

vscode는 프로젝트 단위(?)가 Workspace 인데, Workspace 마다 build configuration을 따로 설정 할 수 있다.

(사실 따로 설정해야 한다....)

Workspace 폴더 내 .vscode 내에 tasks.json으로 관리된다.

python3

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "python3 venv",
            "command": "${config:python.pythonPath}",
            "args": [
                "${file}"
            ],
            //"isShellCommand": true,
            "type": "shell",
            "options": {
                "env": {
                    "PYTHONIOENCODING": "UTF-8"
                }
            },
            //"showOutput": "always",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
C99 & C++11
{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation" : { "reveal": "always" },
    "tasks": [
        {
            "label": "compile and run for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-std=c++11",
                "-g",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "&&${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            //"group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-g",
                "-std=c++11",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],

            "group": "build",
            
            // "group": {
            //     "kind": "build",
            //     "isDefault": false
            // },
            
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-std=c99",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "execute",
            "command": "cd ${fileDirname} && ./${fileBasenameNoExtension}",
            "group": "test"
        }
    ]
}


Workspace 별로 buid configuration가 따로 세팅되는 줄 몰라서 초창기에 엄청 삽질했던 기억이ㅠ

Posted by 범고래_1

댓글을 달아 주세요

  1. 김선우 2020.01.04 17:38  댓글주소  수정/삭제  댓글쓰기

    덕분에 tasks.json설정 잘했습니다... 웹에 자료 엄청 않나왔는데 도움많이 됬습니다!

    • 김우영 2020.01.22 14:01  댓글주소  수정/삭제

      vscode 자바 main 클래스랑 다른 클래스를 파일 별로 분리한 후 import로 불러서 사용하고,
      scanner로 입력 받게 끔, 빌드 컴파일 실행하고 싶은데,
      혹시 자바 설정도 하셨나요?
      계속 찾아보고 있는데 안보여서요....

    • 주인장 2020.10.07 17:16  댓글주소  수정/삭제

      댓글이 좀 늦었네요.
      아뇨 자바는 안 합니다ㅠ