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

R Tools for Visual Studio (RTVS) により、Visual Studio の編集エクスペリエンスは R 用に変わりますが、拡張機能を使用するすべての機能は維持されます (たとえば、VIM キー バインドを使いたい場合は、無料の VsVim 拡張機能を Visual Studio ギャラリーからインストールできます)。

このトピックの内容

IntelliSenseコード スニペットR マークダウンについてのトピックもご覧ください。

構文の強調表示

文字列、コメント、キーワードなど、コードのさまざまな部分に色を付けるだけでなく、RTVS ではコメント内のリンクも強調表示されて有効になります。

R コードの構文の色分け

フォントおよび特定の強調表示色をカスタマイズするには、[ツール] > [オプション] コマンドを選び、[環境] > [フォントおよび色] に移動して、[表示項目:] ボックスで R 関連の項目の設定を変更します。

R コードのフォントおよび色のオプション

Visual Studio のエディターでは、構文エラーに下線も表示されます。

R コードの構文エラーの強調表示

この動作を変更するには、エディター オプション[詳細設定] > [構文チェック] をご覧ください。

コードの編集と整理

コードを入力すると、RTVS は IntelliSense ページでの記述に従ってオート コンプリートを行います。 また、かっこの補完などのオート フォーマットを実行します。

インライン書式設定を示すアニメーション

多くのパラメーターがある関数呼び出しを入力するときは、普通、コードが読みやすいようにパラメーターを一列に表示したくなります。 RTVS はユーザーがパラメーターに設定したインデントを記憶し、それ以降の行にそのインデントを自動的に適用します。

自動インデントのアニメーション

この動作を変更するには、エディター オプション[タブ] グループをご覧ください。

折りたたみ可能なコード領域を使用して、エディター内のコードの一部を一時的に非表示にできます。 Visual Studio は、[詳細設定] > [アウトライン表示] > [コードのアウトライン表示] オプションが [オフ] に設定されていない場合、複数行のステートメントに関して、さまざまな領域を自動的に作成します。

独自の領域を作成するには、--- で終わるコメントで該当するコードを囲みます。 コードの左の小さな +/- コントロールを使うと、領域を開いたり閉じたりすることができます。

コメントでの折りたたみ可能な領域の作成

既定では、Tab キーを押すとスペースが挿入されます。 「[オプション]、[テキスト エディター]、[すべての言語]」で説明されているようにこの動作も変更できます。

コードのナビゲーション

コード ナビゲーションを使用すると、R プログラムとそのライブラリのソース コードにすばやくアクセスできます。 これらのナビゲーション機能を使うと、目的のコードに手動で移動する必要がなく、作業を中断しなくて済みます。

[定義に移動] は、関数定義にすばやくジャンプしたり、ライブラリ関数のソース コードをインライン ミニエディターにポップアップ表示したりします。 目的の関数を右クリックして [定義に移動] を選ぶか、関数をポイントして F12 キーを押します。

関数のソース コードを含む新しいエディター ウィンドウが開き、関数定義の先頭にカーソルが配置されます。

右クリック メニューまたは Alt + F12 キーで開く [定義をここに表示] は、関数呼び出しの下に関数のソース コードが含まれる読み取り専用のスクロール可能な領域を挿入します。

[定義をここに表示] のアニメーション

対話型ウィンドウへのコードの送信

多くの開発者は、エディターでコードを記述し、コードを対話型ウィンドウに送信してすぐにテストするのを好みます (REPL (読み取り、評価、出力、ループ) とも呼ばれます)。 R エディターでこれを行うには、現在のコード行で Ctrl + Enter キーを押します。カーソルは次の行に移動します。 Ctrl + Enter キーを押すと、エディターからコードを効率よくステップ実行できます。

コードを選択して Ctrl + Enter キーを押し、その選択範囲全体を適用することもできます。 または、選択範囲を右クリックして [対話形式で実行] を選びます。

コードの書式設定

Visual Studio の自動書式設定は、エディターに入力または貼り付けられるコードを、ユーザー設定のとおりに書式設定します。 選択し、右クリックして、[選択範囲のフォーマット] を選んで (Ctrl + K、F キー)、設定を適用することもできます。 たとえば、1 行の関数定義があるものとします。

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

書式設定を適用するとクリーンアップされます。

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

コード ファイル全体の書式を再設定するには、[編集] > [詳細設定] > [ドキュメントのフォーマット] を選びます (Ctrl + E、D キー)。

自動書式設定は取り消すことができる独立した操作です。 たとえば、エディターにコードを貼り付け、エディターが書式を適用した後、[編集] > [元に戻す] を選ぶか Ctrl + Z キーを押すと、1 回目で書式設定が取り消され、2 回目で貼り付け自体が元に戻ります。

書式設定オプション (書式設定をオフにすることを含む) は、[テキスト エディター] > [R] > [詳細設定] タブの [ツール] > [オプション] で設定します。ここには、[R Tools] > [エディター オプション...] コマンドを使うか、エディターで右クリックして [書式設定オプション...] を選ぶことで、直接移動できます。 詳しくは、後の「エディター オプション」をご覧ください。

Roxygen コメントの挿入

RTVS には、関数のパラメーター名を使って Roxygen コメントを生成するためのショートカットがあります。 関数定義の前の空白行に「###」と入力するだけです。

Roxygen コメント挿入のアニメーション

エディター オプション

エディター固有のオプションは、[ツール] > [オプション] コマンドで、[テキスト エディター] > [R] に移動して、またはショートカット コマンド [R Tools] > [エディター オプション...] を使って、設定します。

[全般] タブ、[スクロール バー] タブ、[タブ] タブのオプションは R 固有ではなく、すべての言語で使用できる一般的な Visual Studio の設定ですが、言語ごとに適用されます。 詳しくは、次のトピックをご覧ください。

[R] > [詳細設定] タブのオプションは RTVS に固有です。

グループ化 オプション 既定値 説明
書式設定 自動書式 オン 入力されたコードを再書式設定します。 [選択範囲のフォーマット] または [ドキュメントのフォーマット] コマンドには影響しません。
かっこの展開 オフ 新しい行に開始の { を配置します。
[貼り付け時に書式設定する] オン 貼り付け時に書式設定を適用します。
} の入力時にスコープのフォーマット設定 オン 終了の } を入力した後でスコープを書式設定します。
コンマの後のスペース オン コンマの後にスペースを配置します。
キーワードの後にスペース オン ifwhilerepeat などのキーワードの後にスペースを配置します。
中かっこ ({) の前のスペース オン 開始の { の前にスペースを配置します。
等号 (=) の前後のスペース オン 等号 (=) の前後にスペースを配置します。
IntelliSense Enter キーでコミット オフ Enter キーが押されたら、オート コンプリートの選択をコミットします。
Space キーでコミット オフ Space キーが押されたら、オート コンプリートの選択をコミットします。
最初の文字入力時の入力候補一覧 オン 最初の文字入力で入力候補一覧を表示します。 オフにすると、入力候補一覧は [編集] > [IntelliSense] > [メンバーの一覧] (Ctrl + J) で表示されます。
Tab キーの使用時の入力候補一覧 オフ 1 つ以上の文字を入力して Tab キーを押すと、入力候補一覧が表示されます。
部分的に入力した引数名と一致させる オフ 関数呼び出しで引数名を入力するとき、シグネチャを使って最適な引数の説明を示します。
対話型ウィンドウ R コンソールにおける構文チェック オフ 対話型ウィンドウで構文チェックを適用します。 複数行のステートメントでは、構文チェックが正しく機能しないことがあります。
アウトライン コードのアウトライン表示 オン 複数行ステートメントなどの部分に折りたたみ可能な領域を自動的に作成します。
構文チェック [構文エラーの表示] オン コードの自動構文チェックを有効にします。