Pineスクリプト®にVSCスタイルのエディタを追加

10 4, 2022

マイクロソフト社のVisual Studio Code™が、ここ数年で非常に人気の高いエディタとなったのには相応の理由があるのでしょう。Pineスクリプト™エディタでは、そのMonacoエンジンを採用しており、VSCに慣れている方でも安心してPineコードを編集することができます。

この新しいエディタの最初のバージョンには数多くの新機能が搭載されていますが、将来的にさらに多くの機能を追加する土台にもなるものです。また、Pine環境との統合を強化して、最高のコードエディタに対してプログラマーが期待するような機能をより多く提供しています。

可能なかぎり旧エディタの機能を維持するように努めましたが、新しいエディタへの移行には多少なりとも適応が必要です。以前より多くのキーボードショートカットがあり、これまでのショートカットの中にも、新しいものと同等の機能を持つものがあります。 ヘルプセンターに使用頻度の高いショートカットのリストがあります。

それでは、新しいエディタの機能をいくつか見ていきましょう!

コマンドパレットとキーボードショートカット

新しいエディタには、VSCで利用可能なオプション、コマンド、ショートカットのサブセットを構成する膨大な数のオプションが付いています。コマンドパレットには100以上のコマンドがあり、F1キーを押すか、エディタ内で右クリックしてポップアップメニューを表示させることでアクセスできます。パレットをスクロールさせたり、キーワード入力によるコマンド検索も可能です:

例えば、コマンドパレットの “Editor Font Zoom In/Out/Reset” コマンドを使えば、コードに使用するフォントのサイズを変更することができます:

こちらはエディタの新しいポップアップメニューで、右クリックすれば表示されます。よく使用される機能が入っています:

動的なパラメータ選択肢表示とドキュメント化

関数の呼び出しを記述する際に、関数の各パラメータがポップアップで示され、それぞれのパラメータについてリファレンスマニュアルのテキストが表示されるので、予想されるフォームタイプや引数をすぐに確認することができます。カーソルが関数の括弧内にある場合、Ctrl+Shift+Space (Windows) またはCmd+Shift+Space (MacOS) を使用すれば、既存の関数呼び出しに戻った時にもポップアップを表示することも可能です:

さらに、関数の括弧内でオートコンプリート機能 (WindowsではCtrl+Space、MacOSではOption+Space/Cmd+I) を使用すると、パラメータのリストが表示され、そこから選択ができるようになりました:

この機能は、ライブラリからエクスポートされた関数や、現在のスクリプトの内部で宣言された関数や変数についても、//@function//@param//@returns アノテーションを使用してドキュメント化されていれば利用可能です:

オートコンプリート

新しいテキストを入力する際に、オートコンプリート (WindowsではCtrl+Space、MacOSではOption+Space/Cmd+I) が常に機能するようになりました。以前と同じように、入力したテキストにマッチするキーワードのリストが表示されますが、リストのキーワードごとにリファレンスマニュアルの説明と例も表示されるようになりました。説明を表示するには、もう一度オートコンプリートのホットキーを押すか、リスト内のアクティブな要素にカーソルを合わせて、その右にある矢印を押してください。ブラウザのタブを更新するまで、エディタは説明文の表示設定を記憶しています:

この機能は、現在のスクリプトとインポートライブラリの両方からユーザー定義関数と変数にも拡張されます。ただし、関数の場合は//@function//@param//@returns アノテーション、変数の場合は //@variable を使用してドキュメント化されていることが条件です:

エラーと警告のハイライト表示

新しいエディタは、コンパイラと動的に連携するようになりました。新しい行でコンパイルエラーや警告が発生すると、エラーの場合は赤、警告の場合はオレンジのアンダーラインが即座に表示されます。行の上にカーソルを置くと、ツールチップにエラーまたは警告のテキストが表示されます。チャートにスクリプトを追加した後に、1時間前に何かミスタイプしたことがようやく判明するなどということはもうありません!以前と同様、コンソールのエラーメッセージをクリックすると、エラーの原因となっている行が表示されます。

スコープやカスタム領域による折りたたみ

左の余白にカーソルを置いたときに表示される矢印をクリックすると、インデントや折り返しのある行を折りたたむことができるようになりました:

折りたたみオプションを繰り返し使用すれば、一括での折りたたみや、選択的な折りたたみも可能になります。コマンドパレット (F1キーを押しながら “Fold “と入力) を使って、これらを確認することができます:

カスタムによる折りたたみ領域は以前の //{//} アノテーションに代えて、//#region//#endregion のコンパイラアノテーションを使用して定義することもできます:

ミニマップ

新しいエディターの右側には、スクリプトをミニチュアで表現したミニマップサイドバーが表示されます。このミニマップを利用して、コードの中を素早く移動したり、エラーや警告が発生している行、検索結果などを確認できます。また、現在の単語や選択範囲がスクリプト内のどの位置にあるかも表示されます:

検索・置換機能の改善

新しくなった検索 (WindowsではCtrl+F、MacOSではCmd+F) および置換 (WindowsではCtrl+H、MacOSではOption+Cmd+F) 機能では、カーソル位置にある単語や現在の選択範囲も検索対象となりました。また、置換した際には動的に検索数が更新されます。

このアイコンを使って、選択範囲内を検索することもできます:

Ctrl+D/Cmd+D または Ctrl+D Ctrl+K/Cmd+K Cmd+D を使って繰り返し現れる単語を選択し、置き換える単語を入力することでテキストを置換することもできます。Ctrl+Shift+L/Cmd+Shift+Lを使って、ある単語の出現箇所をすべて選択し、置き換える単語を入力することによっても置換が可能です。

カラーピッカー

color.blackなどのビルトイン定数、16進数、color.new()color.rgb()など色に関連した関数を使って色を指定すると、その場所に色見本が表示されるようになりました。色や色見本にカーソルを合わせると、カラーピッカーが表示され、値の確認や色の変更が可能です:

どこでも編集が可能

新しいエディタはTradingViewを起動できる全てのデバイスに対応しています。Pineエディタがデフォルトでブラウザに表示されないモバイルデバイスでは、Web上のエディタリンクを開くことでアクセスできます。さらに、これらのデバイス上のポップアップメニューには、全コードをクリップボードに簡単にコピーするための「すべてコピー」のオプションも含まれています。

より安全な編集

エディタがコードをブラウザやアプリに一時保存するようになりました。これで未保存のコードを失うことなく、自由にページ更新ができるようになりました。

Pineスクリプト® の新機能については、ユーザーマニュアルのリリースノートをご覧ください。PineCoders は、Telegramの Squawk BoxTwitterアカウント、TradingViewの “Pine Script® Q&A” の公開チャットでも最新情報を配信しています。

新しいエディタがお役に立てば幸いです。引き続きご意見・ご提案をお寄せください。私たちは皆様のためにTradingViewを構築していますので、ユーザーの皆様からの声をお待ちしております。

Look first Then leap

あなたのためのTradingView、その最高の機能を最大限にご活用ください
チャートを起動