Visual Studio에서 R 코드 편집Editing R code in Visual Studio

RTVS(Visual Studio용 R 도구)에서는 모든 기능과 확장 사용 기능을 유지하면서 특히 R에 맞게 Visual Studio 편집 환경을 조정합니다.R Tools for Visual Studio (RTVS) tailors the Visual Studio editing experience specifically for R. while retaining all the features and the ability to use extensions. 예를 들어 VIM 키 바인딩을 원하는 경우 Visual Studio 갤러리에서 무료 VsVim 확장을 설치할 수 있습니다.(For example, if you prefer VIM key bindings, you can install the free VsVim extension from the Visual Studio gallery.)

항목 내용:In this topic:

IntelliSense, 코드 조각R Markdown에 대한 항목도 참조하세요.Also see the topics on IntelliSense, code snippets, and R Markdown.

구문 강조Syntax highlighting

문자열, 주석 및 키워드 등 코드의 여러 부분을 색 지정할 뿐 아니라 RTVS는 주석에서 링크를 강조하고 사용하도록 설정합니다.In addition to coloring different parts of your code, such as strings, comments, and keywords, RTVS also highlights and enables links in comments:

R 코드에 대한 구문 색 지정

글꼴 및 특정 강조 색을 사용자 지정하려면 도구 > 옵션 명령을 선택하고, 환경 > 글꼴 및 색으로 이동하고 나서, 항목 표시: 상자에서 R 관련 항목에 대한 설정을 변경합니다.To customize fonts and certain highlight colors, select the Tools > Options command, navigate to Environment > Fonts and Colors, then change settings for R-related items in the Display items: box:

R 코드에 대한 글꼴 및 색 옵션

Visual Studio에서는 편집기에 있는 구문 오류에 밑줄을 추가합니다.Visual Studio also underlines syntax errors in the editor:

R 코드의 구문 오류 강조 표시

이 동작을 변경하려면 편집기 옵션에서 고급 > 구문 검사 설정을 참조하세요.To change this behavior, see the Advanced > Syntax check setting under editor options.

코드 편집 및 구성Editing and organizing code

코드를 입력할 때 RTVS에서는 IntelliSense 페이지에 설명된 대로 자동 완성을 제공합니다.As you type code, RTVS provides auto-completion as described on the IntelliSense page. 또한 중괄호 및 괄호 완성과 같은 자동 서식 지정이 수행됩니다.It also does automatic formatting such as completion of braces and parenthesis:

인라인 서식 지정 애니메이션

많은 매개 변수가 포함된 함수 호출을 입력할 경우 일반적으로 코드를 더 쉽게 읽을 수 있도록 매개 변수를 정렬해야 합니다.When typing calls to functions that have many parameters, oftentimes you want to line up the parameters to make the code easier to read. RTVS에서는 매개 변수에 대해 설정한 들여쓰기를 기억하고 이후 줄에 해당 들여쓰기를 자동으로 적용합니다.RTVS remembers the indentation your set for parameters and automatically applies that indentation for subsequent lines:

자동 들여쓰기 애니메이션

이 동작을 변경하려면 그룹에 대한 편집기 옵션을 참조하세요.To change this behavior, see editor options for the Tabs group.

접을 수 있는 코드 영역에서는 편집기에 있는 코드의 일부를 일시적으로 숨길 수 있습니다.Collapsible code regions let you temporarily hide part of code in the editor. Visual Studio에서는 고급 > 개요 > 코드 개요 옵션이 끄기로 설정된 경우 외에는 여러 줄 문의 경우처럼 자동으로 다양한 영역을 만듭니다.Visual Studio creates various regions for you automatically, as for multi-line statements, unless the Advanced > Outlining > Code outlining option is set to Off.

고유한 영역을 만들려면 원하는 코드를 ---로 끝나는 주석으로 둘러쌉니다.To create a region of your own, surround the desired code with comments that end with ---. 코드 왼쪽의 작은 +/- 컨트롤을 통해 영역을 펼치거나 접을 수 있습니다.The small +/- controls to the left of the code lets you then expand and collapse regions:

주석으로 접을 수 있는 영역 만들기

Tab 키를 누르면 Visual Studio에서는 기본적으로 공백을 삽입합니다.By default, Visual Studio inserts spaces when you press the Tab key. 옵션, 텍스트 편집기, 탭의 설명대로 이 동작을 다시 변경할 수 있습니다.You can again change this behavior as described on Options, Text Editor, Tabs.

코드 탐색Code navigation

코드 탐색을 통해 R 프로그램의 소스 코드 및 해당 라이브러리에 빠르게 액세스할 수 있습니다.Code navigation gives you quick access to the source code of your R program and its libraries. 이러한 기능을 사용하면 수동으로 코드를 검색할 필요 없이 작업 흐름을 따라갈 수 있습니다.These features keep you in the flow of your work rather than having to manually search your code.

정의로 이동을 통해 함수 정의로 빠르게 이동하거나 인라인 미니 편집기를 표시하여 라이브러리 함수의 소스 코드를 읽습니다.Go To Definition quickly jumps to a function definition or pops up an inline mini-editor to read the source code of a library function. 원하는 함수를 마우스 오른쪽 단추로 클릭하고 정의로 이동을 선택하거나 함수에 커서를 놓고 F12 키를 누릅니다.Just right-click the function of interest and select Go To Definition, or place the cursor in the function and press F12.

이 명령을 사용하면 함수에 대한 소스 코드가 포함된 새 편집기 창이 열립니다.This command opens a new editor window containing the source code for the function. 커서는 편리하게 함수 정의의 시작 부분이 놓입니다.The cursor is conveniently positioned at the start of the function definition.

마우스 오른쪽 단추 클릭 메뉴 또는 Alt+F12를 통해 호출된 정의 피킹은 함수의 소스 코드가 포함된 스크롤 가능한 읽기 전용 영역을 함수 호출 아래에 삽입합니다.Peek Definition, invoked from the right-click menu or Alt+F12, inserts a read-only, scrollable region containing the source code of the function below the function call:

정의 피킹 애니메이션

대화형 창에 코드 보내기Sending code to the interactive window

대부분의 개발자는 즉각적인 테스트를 위해 편집기에서 일부 코드를 작성하고 해당 코드를 대화형 창으로 보내고 싶어합니다(Read-Evaluate-Print-Loop 또는 REPL이라고도 함).Many developers like to write some code in the editor and then send that code to the interactive window for immediate testing (also known as a Read-Evaluate-Print-Loop or REPL). R 편집기에서 Ctrl+Enter를 누르면 현재 코드 줄이 대화형 창으로 전송되고 커서가 다음 줄에 놓입니다.Pressing Ctrl+Enter in the R editor sends the current line of code to the interactive window, then places the cursor on the next line. Ctrl+Enter를 누르면 편집기에서 코드를 효과적으로 단계적으로 실행할 수 있습니다.With Ctrl+Enter, then, you can effectively step through your code from the editor.

코드를 선택하고 Ctrl+Enter를 눌러 해당 전체 선택을 적용할 수도 있습니다.You can also select code and press Ctrl+Enter to apply that entire selection. 또는 선택을 마우스 오른쪽 단추로 클릭하고 대화형으로 실행을 선택합니다.Alternately, right-click the selection and select Execute in Interactive.

코드 서식 지정Formatting code

Visual Studio의 자동 서식 지정 기능은 직접 작성한 코드 및 편집기에 붙여넣은 코드의 서식을 기본 설정에 설정된 대로 유지합니다.Visual Studio's automatic formatting keeps the code you write, as well as code you paste into the editor, formatted as set by your preferences. 항목을 선택하고, 마우스 오른쪽 단추를 클릭하고, 선택 영역 서식(Ctrl+K,F)을 선택하여 해당 기본 설정을 적용합니다.You can also make a selection, right-click, and select Format Selection (Ctrl+K,F) to apply those preferences. 예를 들어 함수 정의가 모두 한 줄에 있는 경우:For example, if you had a function definition all on a single line:

f<-function  (a){  return(a + 1) }

서식을 적용하면 다음과 같이 정리됩니다.Applying formatting cleans it up to be:

f <- function(a) { return(a + 1) }

전체 코드 파일의 서식을 다시 지정하려면 편집 > 고급 > 문서 서식(Ctrl+E,D)을 선택합니다.To reformat the entire code file, select Edit > Advanced > Format Document (Ctrl+E,D).

자동 서식 지정은 실행 취소할 수 있는 별도의 작업입니다.Automatic formatting is a separate operation that can be undone. 예를 들어 코드를 편집기에 붙여넣고 서식을 적용한 경우 편집 > 실행 취소를 선택하거나 Ctrl+Z를 한 번 누르면 서식 지정이 되돌려집니다. 두 번째 실행 취소는 붙여넣기 자체를 되돌립니다.For example, if you paste code into the editor and formatting it applies, selecting Edit > Undo or pressing Ctrl+Z once reverses the formatting; a second Undo reverses the paste itself.

서식 지정 옵션(서식 지정 끄기 포함)은 텍스트 편집기 > R > 고급 탭의 도구 > 옵션을 통해 설정됩니다. 이 페이지에는 R 도구 > 편집기 옵션... 명령을 사용하여 직접 이동하거나 편집기에서 마우스 오른쪽 단추를 클릭하고 서식 지정 옵션...을 선택하여 이동할 수 있습니다. 자세한 내용은 편집기 옵션을 참조하세요.Formatting options (including turning off formatting) are set through Tools > Options on the Text Editor > R > Advanced tab. You can go directly to this page using either the R Tools > Editor options... command or by right-clicking in the editor and selecting Formatting options.... See the editor options section for details.

Roxygen 주석 삽입Inserting Roxygen comments

RTVS에서는 함수의 매개 변수 이름을 사용하여 Roxygen 주석을 생성할 수 있는 바로 가기를 제공합니다.RTVS provides a shortcut for generating Roxygen comments using the parameter names of a function. 함수 정의 위의 빈 줄에 ###을 입력하면 됩니다.Just type ### on a blank line above the function definition:

Roxygen 주석 삽입 애니메이션

편집기 옵션Editor options

편집기 관련 옵션은 텍스트 편집기 > R로 이동하여 도구 > 옵션 명령을 통해 설정됩니다. 또는 R 도구 > 편집기 옵션...을 사용하세요.Editor-specific options are set through the Tools > Options command, navigating to Text Editor > R, or use the shortcut command R Tools > Editor Options....

일반, 스크롤 막대 탭의 옵션은 R과 관계가 없고 오히려 모든 언어에 사용할 수 있지만 언어별로 적용되는 일반적인 Visual Studio 설정입니다.Options on the General, Scroll bars, and Tabs tabs are not specific to R, but are rather general Visual Studio settings available for all languages but applied on a per-language basis. 자세한 내용은 다음 항목을 참조하세요.For details, see the following topics:

R > 고급 탭의 옵션은 RTVS에 관련됩니다.Options on the R > Advanced tab are specific to RTVS:

그룹화Group 옵션Option 기본Default 설명Description
서식Formatting 자동 서식 지정Automatic formatting 켜기On 입력할 때 코드 서식을 다시 지정합니다.Reformats code as you type. 선택 영역 서식 또는 문서 서식 명령에 영향을 미치지 않습니다.Does not affect the Format Selection or Format Document commands.
확장된 중괄호Expanded braces 끄기Off 새 줄에 여는 중괄호({)를 배치합니다.Places an open { on a new line.
붙여넣을 때 서식 지정Format on paste 켜기On 붙여넣을 때 서식을 적용합니다.Applies formatting on paste.
}에서 범위 서식 지정Format scope on } 켜기On 닫는 중괄호(})를 입력한 후 범위 서식을 지정합니다.Formats scope after typing a closing }.
쉼표 뒤에 공백 삽입Space after comma 켜기On 쉼표 뒤에 공백을 배치합니다.Places a space after commas.
키워드 뒤 공백Space after keyword 켜기On if, whilerepeat 같은 키워드 뒤에 공백을 배치합니다.Places a space after keywords like if, while, and repeat.
{ 앞 공백Space before { 켜기On 여는 중괄호({) 앞에 공백을 배치합니다.Places a space before and opening {.
= 주변 공백Spaces around = 켜기On 등호 주변에 공백을 배치합니다.Places spaces around an equal sign.
IntelliSenseIntelliSense Enter 키를 누를 때 커밋Commit on Enter key 끄기Off Enter 키를 누를 때 자동 완성 선택을 커밋합니다.Commits auto-completion selection when Enter is pressed.
Space 키를 누를 때 커밋Commit on Space key 끄기Off Space 키를 누를 때 자동 완성 선택을 커밋합니다.Commits auto-completion selection when Space is pressed.
첫 번째 문자 입력 시 완성 목록Completion list on first character 켜기On 첫 번째 문자 형식에 대한 완성 목록을 표시합니다.Shows completion list on the first character types. 끄기로 설정되면 편집 > IntelliSense > 멤버 목록(Ctrl+J)을 통해 완성 목록을 표시합니다.When Off, a completion list is displayed with Edit > IntelliSense > List Members (Ctrl+J).
Tab 키를 누를 때 완성 목록Completion list on Tab key 끄기Off 하나 이상의 문자를 입력하고 Tab 키를 눌러서 완성 목록을 호출합니다.Invokes completion list by typing one or more characters and pressing Tab.
일부만 입력된 인수 이름 일치Match partially types argument names 끄기Off 함수 호출에 인수 이름을 입력하면 시그니처 도움말에는 가장 일치하는 인수에 대한 설명이 표시됩니다.WHen typing argument names in a function call, signature help shows a description for the argument that is the best match.
대화형 창Interactive Window R 콘솔의 구문 검사Syntax check in R Console 끄기Off 대화형 창에서 구문 검사를 적용합니다.Applies syntax checking in the Interactive window. 여러 줄 문에서는 구문 검사가 제대로 작동하지 않을 수 있습니다.Syntax checking may not work correctly with multi-line statements.
개요Outlining 코드 개요Code outlining 켜기On 여러 줄 문 같은 영역에 대한 접을 수 있는 영역을 자동으로 만듭니다.Automatically creates collapsible regions for areas like multi-line statements.
구문 검사Syntax check 구문 오류 표시Show syntax errors 켜기On 코드의 자동 구문 검사를 사용하도록 설정합니다.Enables automatic syntax checking of code.