개발하는거북이 어플 만들었어요

알고리즘/Swift

[알고리즘 with Swift] VSCode에서 단일 파일 실행환경 구성하기

tedium._.dev 2025. 2. 22. 21:57

최근 iOS 개발자가 되기 위한 여정을 시작하고, Swift 문법 공부를 시작했다.

최근 몇몇 기업에서는 코딩 테스트 자체를 모집 분야의 주 언어로만 가능하도록 제한하는 경향이 있다고 하여, PS 역시 기존 C++에서 Swift로 변경하면 좋을 것 같았다. 이에 내가 구성한 VSCode 내에서의 단일 파일 실행 환경 세팅 및, 자잘한 팁에 대해 공유해보고자 한다.

 

단일 Swift 파일 실행 명령어

 

XCode 또는 Swift만 설치되어 있다면, 의외로 단일 파일을 실행하는 것은 쉽다. 터미널 환경에서

swift [실행할 swift 파일 경로]

 

명령어만 입력하면 별도의 빌드 과정 없이 단일 파일을 쉽게 실행해볼 수 있다.

'그렇다면 단축키를 통해 저 터미널 명령어를 실행하면 되지 않을까?' 라는 생각 하에, VSCode에서 해당 실행환경을 구성해 보았다. XCode도 가능은 하지만 터미널 환경이 자유롭지 않고 기본적으로 무겁기 때문에.. 단일 파일 실행의 최적 솔루션은 VSCode인 듯 하다.

 

tasks.json 파일 생성 및 설정

먼저 프로젝트 루트 경로에 .vscode/tasks.json 파일을 생성한다.

 

 

이후 tasks.json 파일을 정의한다.

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run Swift File",
      "type": "shell",
      "command": "swift ${file}",
      "presentation": {
        "reveal": "always",
        "panel": "dedicated"
      },
      "problemMatcher": []
    }
  ]
}

tasks.json은 간단히 말해, VSCode 내 반복 작업(빌드, 실행 등)을 자동화하기 위해 생성하는 파일이다.

사전에 정의한 task가 있고, workbench.action.tasks.runTask 명령어의 인자 값으로 해당 task의 label을 넘겨주면, 해당 command가 실행되는 원리이다.

 

 

keybindings.json에서 호출할 키바인딩값 정의

다음으로 저 명령어를 호출할 단축키를 등록하자. Command Pallete에서 'Open Keyboard Shortcuts'를 입력하여 해당 파일을 열 수 있다.

 

 

이후 하단의 keybinding을 추가해 준다.

 {
    "key": "shift+cmd+x",
    "command": "workbench.action.tasks.runTask",
    "args": "Run Swift File",
    "when": "editorTextFocus && editorLangId == 'swift'"
  },

평소 다른 언어 역시 단일 파일 실행 명령어를 shift+cmd+x로 두고 있어, 추가로 조건부 실행 프로퍼티인 when을 통해 파일 확장자가 'swift'일 경우에만 위 커맨드가 실행되게끔 구성하였다.

 

결과

shift+cmd+x를 누르니 아주 잘 실행된다.

추가로 저장 시 자동으로 코드를 formatting(들여쓰기, 줄바꿈 등)해 주는 자동 포맷팅 역시 적용해 보자.

 

 

자동 포맷팅 적용하기

먼저 Swift 익스텐션을 설치해 준다.

사전에 Prettier가 설치 및 연동되어 있다면 자동으로 Swift 역시 자동 포맷팅이 적용될 것이다. 만약 적용되지 않는다면, 명시적으로 포매팅 단축키(shift+cmd+x)를 통해 포매팅 구성을 Swift로 변경해 주자.

 

 

 

만약 Prettier가 없고 Swift 포맷팅만을 원한다면, 하단의 SwiftFormat 익스텐션도 고려해 보자. XCode SwiftFormat의 VSCode용 플러그인이다. XCode SwiftFormat 역시 함께 설치해야 한다.

https://marketplace.visualstudio.com/items?itemName=vknabel.vscode-swiftformat

 

SwiftFormat - Visual Studio Marketplace

Extension for Visual Studio Code - Formatting Swift code with nicklockwood/SwiftFormat.

marketplace.visualstudio.com

 

이상으로 VSCode 내에서 단일 파일 실행환경 구성이 모두 끝났다. 이제 알고리즘 실력만 장착하면 된다!