Installing VS Code(Mac/Linux)

Installing VS Code(Mac/Linux)

C/C++ Programming environment for Mac users

๊ฐœ์š”


Visual Studio Code

I. ํŠน์ง•

Visual Studio์˜ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ ๊ธฐ๋ฐ˜์œผ๋กœ Microsoft ์‚ฌ์—์„œ ๋งŒ๋“  ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ์ด๋‹ค. ์—„๋ฐ€ํ•˜๊ฒŒ ๋งํ•˜๋ฉด IDE๊ฐ€ ์•„๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Visual Studio Code(์ดํ•˜ VScode)์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ํ™•์žฅ ์˜ต์…˜์œผ๋กœ IDE์™€ ๋น„์Šทํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์žฅ์ 

  1. ๊ฐ€๋ณ๊ฒŒ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ ๊ธฐ๋ฐ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์—„์ฒญ ๊ฐ€๋ณ๋‹ค. ์‚ฌ์‹ค์ƒ ๊ธฐ๋Šฅ ๋งŽ์€ ๋ฉ”๋ชจ์žฅ์— ๊ฐ€๊น๋‹ค.

  2. ๋‹ค์–‘ํ•œ ์–ธ์–ด ์ง€์› C, C++, Python, JAVA ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋ฅผ ํ•˜๋‚˜์˜ ํˆด์—์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

  3. ๋‹ค์–‘ํ•œ ํ™•์žฅ ์˜ต์…˜ ์˜คํ”ˆ ์†Œ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ํ™•์žฅ์„ ํ†ตํ•ด์„œ IDE์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.

  4. ํฌ๋กœ์Šค ์ปดํŒŒ์ผ ์ง€์› Windows, Linux, Mac์„ ๋ชจ๋‘ ์ง€์›ํ•œ๋‹ค. ๋‹ค์–‘ํ•œ OS์—์„œ ๊ฐœ๋ฐœํ•  ๊ฒฝ์šฐ ์•„๋ž˜์˜ CLion๊ณผ ํ•จ๊ป˜ ์ข‹์€ ์„ ํƒ์ง€๋‹ค.

  5. ์œ ์ € ์นœํ™”์  GUI GUI๊ฐ€ ๋‹จ์ˆœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์žกํ•˜์ง€ ์•Š๋‹ค.

๋‹จ์ 

  1. ํ”„๋กœ์ ํŠธ ๋‹จ์œ„ ๋นŒ๋“œ ํž˜๋“ฌ ํ”„๋กœ์ ํŠธ ๋‹จ์œ„๋กœ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” CMake์™€ ๊ฐ™์€ ๋นŒ๋“œ ๋„๊ตฌ์˜ ํž˜์„ ๋นŒ๋ ค์•ผ ํ•œ๋‹ค. ๋•Œ๋ฌธ์— CMake ์ž‘์„ฑ๋ฒ•์„ ์ถ”๊ฐ€๋กœ ํ•™์Šตํ•ด์•ผ ํ•˜๋ฉฐ, ๋นŒ๋“œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  2. ๋А๋ฆฐ ์†๋„(ํ™•์žฅ์„ ๋งŽ์ด ๊น”์•˜์„ ๋•Œ) ํ™•์žฅ์„ ํ†ตํ•ด์„œ IDE์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ™•๋ณดํ•œ ๊ฒฝ์šฐ IDE๋งŒํผ ์†๋„๊ฐ€ ๋А๋ ค์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ํŠนํžˆ ์–ธ์–ด ํ™•์žฅ์„ ๋‹ค์ˆ˜ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ ๋‘๋“œ๋Ÿฌ์ง„๋‹ค. ๋•Œ๋ฌธ์— ๋ณธ์ธ์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

  3. ํž˜๋“  ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ค์ • CMake ์ดˆ๊ธฐ ์„ค์ •์‹œ์— ์ปดํŒŒ์ผ๋Ÿฌ, ๋นŒ๋“œ ํˆด ๋“ฑ์„ ์ˆ˜๋™์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

II. ์„ค์น˜

  1. ์„ค์น˜ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜์—ฌ ์„ค์น˜ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค.

  2. ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ์„ค์น˜ ํŒŒ์ผ์„ ์‹คํ–‰ํ•œ๋‹ค.

  3. C/C++ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ํ™•์žฅ์„ ์„ค์น˜ํ•œ๋‹ค.

  1. CMake๋ฅผ ์„ค์น˜ํ•œ๋‹ค.(๋ถ€๋ก1: CMake ์„ค์น˜ ์ฐธ๊ณ )

  2. ๋นŒ๋“œ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•œ๋‹ค. (Windows๋งŒ ํ•ด๋‹น, ๋ถ€๋ก: Visual Sutdio ๋นŒ๋“œ ๋„๊ตฌ ์„ค์น˜ ์ฐธ๊ณ )

III. ํ”„๋กœ์ ํŠธ ์„ค์ •

  1. ์ž„์˜์˜ ์œ„์น˜์— ํด๋”๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค. (๋ณธ ๋ฌธ์„œ์—์„œ๋Š” Tutorial)

  2. VScode์—์„œ ํ•ด๋‹น ํด๋”๋ฅผ ์—ด๊ณ , F1ํ‚ค๋ฅผ ๋ˆ„๋ฅธ๋‹ค. ์ดํ›„ CMake: Quick Start๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

  3. ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์€ ์ƒ์„ฑํ•œ ํด๋” ์ด๋ฆ„๊ณผ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•œ๋‹ค.

  4. ์–ธ์–ด๋Š” C๋ฅผ ์„ ํƒํ•œ๋‹ค.

  5. ์‹คํ–‰ํŒŒ์ผ(Excutable)์„ ์„ ํƒํ•œ๋‹ค.

  6. ๋นŒ๋“œ ์„ค์ •์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

  7. ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•œ๋‹ค.

  8. ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์„ ํƒํ•œ๋‹ค. ์œˆ๋„์šฐ๋Š” Visual Studio, Mac์€ Clang์„ ์„ ํƒํ•œ๋‹ค.

  9. CMakeLists.txt์— ์•„๋ž˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•œ๋‹ค. <PROJECT>๋ถ€๋ถ„์€ ๋ณธ์ธ์˜ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์œผ๋กœ ์ˆ˜์ •ํ•œ๋‹ค.

    cmake_minimum_required(VERSION 3.25)
    project(<PROJECT> LANGUAGES C)
    
    set(CMAKE_C_STANDARD 17)
    
    file(GLOB_RECURSE SOURCE
         ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c
         )
    
    add_executable(${PROJECT_NAME} main.c ${SOURCE})
    target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
  10. main.c๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ›„ ์‹คํ–‰ํ•ด ๋ณธ๋‹ค.

    #include <stdio.h>
    
    int main()
    {
        printf("Hello World!");
    
        return 0;
    }

๋ถ€๋ก1: CMake ์„ค์น˜

Windows

  1. CMake ์„ค์น˜ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜์—ฌ ์ตœ์‹ ๋ฒ„์ „ CMake๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

  2. ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์•„๋ž˜ ์ˆœ์„œ์™€ ๊ฐ™์ด ์„ค์น˜ํ•œ๋‹ค.

Linux

  1. apt๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค

    sudo apt update
  2. CMake๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค

    sudo apt install cmake

Mac

  1. Homebrew๋ฅผ ์„ค์น˜ํ•œ๋‹ค

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Homebrew๊ฐ€ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

    brew -v
  3. command not found: brew ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์•„๋ž˜ ๋ช…๋ น์„ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•œ๋‹ค.

    echo 'export PATH=/opt/homebrew/bin:$PATH'

๋ถ€๋ก2: Visual Studio ๋นŒ๋“œ ๋„๊ตฌ ์„ค์น˜

  1. ์„ค์น˜ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜์—ฌ ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๋Š”๋‹ค.

  2. ์ธ์Šคํ†จ๋Ÿฌ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ • ํ›„ ์„ค์น˜ํ•œ๋‹ค.

Last updated

Was this helpful?