Programming, IT, Algorithm, Security
article thumbnail

Vscode에 대해서

vscode는 microsoft에서 개발한 텍스트 에디터이다

 

기반은 텍스트에디터이지만 수많은 Extension으로 기능을 확장하여 IDE급으로 사용이 가능하다!

하지만 그만큼 사용 전에 설정해야하는 부분이 귀찮기는 하다

 

또한, Visual Studio같은 IDE보다 가볍기 때문에 알고리즘 문제 풀이할때 솔루션, 빌드 설정등의 쓸데없는 기능은 제외하고 필요한 부분만 골라쓸 수 있다

 

설문조사 결과, 요즘은 Visual Studio보다 VScode가 더 인기가 많다고 한다

 

Stackoverflwo 커뮤니티 설문조사 결과

 

 

Code 실행을 위한 Code Runner Extension 설치!

Code를 컴파일하고 실행할때 마다 터미널에서 명령어를 치는 것은 귀찮으므로 이를 원클릭으로 해주는 Extension을 설치하고 실행한다.

Code Runner Extension

왼쪽 메뉴바에서 Extensions 버튼을 누르고 Code Runner 라는 Extension을 검색하여 설치해주면 된다.

 

그리고 Code Runner 사용전에 어떤 컴파일러를 사용하여 컴파일할건지 경로를 설정하고 어떤 명령어를 사용할 건지를 정해줘야 사용이 가능하다. 

 

이는  Setting에 들어가서 coderunner executor map을 검색하면 

검색결과

Edit in settings.json이 나온다. 이걸 클릭하고 나오는 setting.json에 있는

"code-runner.executorMap"을 찾아서

다음 코드를 붙여넣기 해준다.(복붙 할때 콤마 주의!!)

"code-runner.executorMap": {
    

        "javascript": "node",
        "java": "cd $dir && javac \"$fileName\" && java \"./$fileNameWithoutExt\"",
        "c": "cd $dir && gcc \"$fileName\" -o \"$fileNameWithoutExt\" && &\"./$fileNameWithoutExt\"",
        "cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && &\"./$fileNameWithoutExt\"",
        "objective-c": "cd $dir && gcc -framework Cocoa \"$fileName\" -o \"$fileNameWithoutExt\" && &\"./$fileNameWithoutExt\"",
        "go": "go run",
        "python": "python",
        "ruby": "ruby"
    }

참고로 이 코드에서는 써있는 대로 C, C++, go, java, javascript, objective-c, go, python, ruby 밖에 지원 안되므로 다른 언어를 사용하고 싶으면 명령어를 추가해주면 된다. 그리고 이걸 쓰려면 컴파일러를 설치하고 환경 변수 설정을 해줘야한다. 그건 인터넷에 검색하면 나오니까 알아서 하자.

 

그리고 이 코드는 파일 경로 이름 띄어쓰기 오류를 해결한 버전이다. 원래 기본 설정에서는 파일경로에 "(쌍 따옴표)가 없어서 띄어쓰기를 하면 명령어 인식이 잘못되는 오류가 있었음 .

 

또한, 컴파일하고 나서 '&& &'를 추가해서 다음 명령어로 파일 실행을 함. 리눅스에선 아마 '&&' 이렇게 '&'을 3개가 아니라 2개만 써야한다고 함.

"code-runner.preserveFocus": false, // 파일 실행해도 실행 텍스트 포커스 유지하는 옵션
"code-runner.saveFileBeforeRun": true, // 실행버튼 누르면 자동으로 저장하고 실행하는 옵션
"code-runner.runInTerminal": true,// 터미널에서 실행하는 옵션 (이걸 켜야 입력도 할수 있음!)

위 설정만 해도 컴파일 후 실행은 되지만  추가로 이 설정도 추가해주면 불편함이없다. (복붙시 콤마 주의)

특히 3번째 줄 옵션을 추가해야 scanf 함수를 실행했을때 입력도 받을 수 있다!

 

Cursor move/ select Shortcut (커서 이동/선택 단축키 설정)

VSCODE의 기본 단축키의 특히 불편한 점은 커서를 이동할때 방향키를 이용한다는 점이다.

이러면 오른손을 계속 왔다갔다 해야하기 때문에 매우 불편한다.

 

이 문제를 해결하기 위해 Vim Shortcut를 Extension으로 설치하는 방법도 있지만 Vim은 입력모드 전환하는 게 귀찮다.

 

그래서 나는 외국사이트에서 본 이 방법으로 설정한다. 

 

Ctrl+Shift+P를 누르고 아래 사진의 커맨드를 실행한다.

커맨트 팔레트를 열어서 이 명령어를 찾는다!

 

그리고 아래 코드를 복붙해준다!

{
    "key": "ctrl+shift+i",
    "command": "editor.action.moveLinesUpAction",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+shift+k",
    "command": "editor.action.moveLinesDownAction",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+k",
    "command": "cursorDown",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+i",
    "command": "cursorUp",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+l",
    "command": "cursorRight",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+j",
    "command": "cursorLeft",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+k",
    "command": "cursorDownSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+i",
    "command": "cursorUpSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+l",
    "command": "cursorRightSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+j",
    "command": "cursorLeftSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+ctrl+l",
    "command": "cursorWordEndRight",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+ctrl+j",
    "command": "cursorWordStartLeft",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+ctrl+l",
    "command": "cursorWordRightSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+ctrl+j",
    "command": "cursorWordLeftSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+o",
    "command": "cursorEndSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+u",
    "command": "cursorHomeSelect",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+l",
    "command": "cursorEnd",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+j",
    "command": "cursorHome",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+alt+y",
    "command": "editor.action.goToDeclaration"
  },
  {
    "key": "ctrl+i",
    "command": "cursorColumnSelectUp",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+k",
    "command": "cursorColumnSelectDown",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+shift+ctrl+o",
    "command": "cursorWordPartRightSelect",
    "when": "textInputFocus"
  },
  {
    "key": "alt+shift+ctrl+u",
    "command": "cursorWordPartLeftSelect",
    "when": "textInputFocus"
  },
  {
    "key": "alt+ctrl+o",
    "command": "cursorWordPartRight",
    "when": "textInputFocus"
  },
  {
    "key": "alt+ctrl+u",
    "command": "cursorWordPartLeft",
    "when": "textInputFocus"
  },

이 단축키는 아래 설명과 같으니 참고

Tab Completion 설정

Vscode의 매우 편리한 자동 완성 기능인 intellisense의 옵션이다. 이 기능을 켜면 자동 추천해준 옵션들을 굳이 키보드로 더 입력할 필요 없이 Tab키로 바꾸면서 입력이 가능하다.

Tab Completion on

 

추가 설치 할 것들?

Vscode Extension에는 여러 언어들의 문법 검사, Intellisense를  지원하는 extension들이 있으니 해당 언어를 한번 검색해보길 바란다.

 

또한, 지금까지 했던 설정들을 github를 통해 동기화하는 Setting Sync이라는 Extension도 있으니 사용을 추천한다 

profile

Programming, IT, Algorithm, Security

@PITAS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!