EDRSPIHCRSSRSS

Visual Studio Code

last modified: 2024-09-06 17:13:43 Contributors



1. 개요

  • Visual Studio Code는 가볍고 강력한 소스코드 편집기이다. Windows, macOS, Linux 데스크톱에서 실행가능하다. 다양한 언어를 위한 확장(extension)을 지원한다. (아래에서 VS code로 줄여서 적는다.)
  • LaTeX 에디터로서도 편리하고 강력한 환경을 제공한다. LaTeX 지원 확장 중 가장 유명한 것은 LaTeX Workshop이며 (거의 반드시) 설치할 필요가 있다.

2. 설치 방법

2.1. Visual Studio Code

  • 다운로드를 받아서 설치하려면 https://code.visualstudio.com 에서 받을 수 있다.
  • windows 10이후에서는 winget 명령을 이용하여 설치할 수 있다.
winget install --exact --id Microsoft.VisualStudioCode

2.2. LaTeX Workshop 설치

  • Visual Studio Code Marketplace에서 설치한다.
  • VS Code에서 Quick Open (ctrl/cmd + P)를 누른후 "ext install latex-workshop"를 입력하고 Enter를 누른 후, 설명에 따라 설치한다.

3. LaTeX Workshop이 설치된 Visual Studio Code 의 작업 환경

  • Syntax Highlighting이 지원된다.
  • 소스 입력시 Intellisense의 도움을 받을 수 있다.
  • Build는 latexmk를 불러서 사용하며 기본 엔진은 pdflatex으로 정의되어 있다.
  • 화일을 저장할 때 자동으로 컴파일 된다.
  • Visual Studio code가 Blink layout engine을 이용하므로, 이를 이용하여 소스코드에 붙여서 PDF viewer를 보여준다.


3.1. 사용자 입맛에 맞게 수정하려면

  • 초급자 이거나 영어권 사용자라면 기본 설정만으로도 사용에 문제가 없다.
  • 한글을 사용하고 LaTeX 중급자가 사용하려면 기본 설정을 조금 바꾸어 줄 필요가 있다.
    • pdflatex 대신 xelatex을 컴파일 엔진으로 변경하기를 원한다.
    • 저장시 build 기능을 끄고 싶다. ( 굳이 에러 메시지를 보면서 심란해 할 필요가 없다. )
    • 컴파일 버튼을 CTLR-ALT-B 대신 CTRL-T로 하고 싶다.
    • 내장 PDF viewer보다도 외부 viewer (SumatraPDF)와 forward / inverse search를 사용하려고 한다.
  • 상기 내용은 KTUG 261754번 게시물를 참조하라.
    • 위 게시물에서 제안된 settings.json은 다음 소절을 볼 것.
  • 한/글 사용자를 위한 단축키는 KTUG 262050번 게시물을 참조하라.
  • MikTeX사용자로 texify를 쓰려면 DCinside LaTeX갤 6번글을 참조하라

3.1.1. settings.json 샘플

3.2. PDF viewer

내장 pdf 뷰어를 사용하는 쪽이 편하다면 이 설정은 불필요하다. 그러나 SyncTeX을 사용한 External Viewer를 선호한다면 아래를 참조한다.

3.2.1. SumatraPDF (Windows)

  • SumatraPDFC:/Users/<USERNAME>/AppData/Local/SumatraPDF/SumatraPDF.exe에 설치되어 있다고 하자(winget으로 설치하면 이 위치가 된다).
  • Forward Search:
      "latex-workshop.view.pdf.viewer": "external",
      "latex-workshop.view.pdf.external.synctex.command": "C:/Users/<USERNAME>/AppData/Local/SumatraPDF/SumatraPDF.exe",
        "latex-workshop.view.pdf.external.synctex.args": [
          "-forward-search",
          "%TEX%",
          "%LINE%",
          "-reuse-instance",
          "-inverse-search",
          "code.cmd -r -g \"%f:%l\"",
          "%PDF%"
        ],
      "latex-workshop.view.pdf.external.viewer.command": "C:/Users/<USERNAME>/AppData/Local/SumatraPDF/SumatraPDF.exe",
    
    • 세 군데 <USERNAME>을 자신의 것으로 수정한다.
    • Ctrl+Alt+v는 pdf의 제일 첫 줄, Ctrl+Alt+j는 커서 위치로 열어준다.
  • Inverse-Search:
    • 위의 Forward Search 방식으로 에디터로부터 SumatraPDF를 열었다면 다른 설정할 필요 없이 바로 Inverse Search가 동작한다.
    • Double-Click

3.2.2. Skim.app (MacOS)

  • Forward Search:
        "latex-workshop.view.pdf.viewer": "external",
        "latex-workshop.view.pdf.external.synctex.command": "/Applications/Skim.app/Contents/SharedSupport/displayline",
        "latex-workshop.view.pdf.external.synctex.args": [
            "-r",
            "-b",
            "%LINE%",
            "%PDF%",
            "%TEX%",
        ],
    
    • Invoking Forward Search: Cmd+Opt+j
  • Inverse Search:
    • Skim.app -> Setting -> Sync ==> Visual Studio Code
    • Shift+Cmd+Click
      VSCodeToSkimInverseSearch.png
      [PNG image (84.1 KB)]

3.3. 파일 인코딩

  • 기본적으로 UTF-8
    • BOM을 붙여야 하는 경우: Ctrl-Shift-P에서 "Change File Encoding" -> "Save with Encoding" (또는 "Reopen")에서 utf8 with bom을 선택하고 저장한다.
  • 파일을 열 때 자동으로 인코딩을 선택 (주로 EUC-KR 파일 열기에 필요할 듯): Open User Settings (JSON)에서 설정 파일에 다음 한 줄을 추가한다.
        "files.autoGuessEncoding": true,
    

4. 참조

4.1. 참조할 곳