Visual Studio で R のコードを編集するEditing R code in Visual Studio

R Tools for Visual Studio (RTVS) により、Visual Studio の編集エクスペリエンスは R 用に変わりますが、拡張機能を使用するすべての機能は維持されます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 キー バインドを使いたい場合は、無料の VsVim 拡張機能を Visual Studio ギャラリーからインストールできます)。(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 マークダウンについてのトピックもご覧ください。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 キーを押すとスペースが挿入されます。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

多くの開発者は、エディターでコードを記述し、コードを対話型ウィンドウに送信してすぐにテストするのを好みます (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. たとえば、1 行の関数定義があるものとします。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 キーを押すと、1 回目で書式設定が取り消され、2 回目で貼り付け自体が元に戻ります。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 Tools] > [エディター オプション...] を使って、設定します。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 ifwhilerepeat などのキーワードの後にスペースを配置します。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 1 つ以上の文字を入力して 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.