TypeScript のリファクタリング
リファクタリング(英語)とは、アプリケーションの動作を変更せずにソースコードを更新することを意味します。 リファクタリングは、コードを安定した dry(英語) に保ち、保守を容易にできます。
移動リファクタリング
ファイルやフォルダーの移動に加えて、GoLand を使用して TypeScript のトップレベルシンボルも移動できます。 シンボルの移動リファクタリングは、ES6 モジュールのクラス、関数、変数に対して機能します。
クラス、関数、変数を移動する
移動するシンボルを選択します。
F6 を押すか、メインメニューまたは選択したコンテキストメニューから を選択します。 あるいは、 を選択するか Ctrl+Alt+Shift+T を押してから、リストから を選択します。
モジュールメンバーの移動 ダイアログが開きます。
宛先ファイルを指定し、移動するメンバーを選択します。
デフォルトでは、GoLand はメンバーの可視性を必要なレベルまで自動的に上げます。 可視性レベルを変更しない場合は、 可視性 の そのまま をクリックします。
クラスメンバーのプルアップリファクタリング
クラスメンバーをプルアップするリファクタリングは、現在のクラスから実装されているスーパークラスまたはインターフェースへ、クラス階層内のクラスメソッドを上に移動します。
クラスのメソッドをスーパークラスまたはインターフェースに移動する
次のいずれかを実行して メンバーのプルアップ ダイアログを開きます:
メンバーを呼び出したいクラス内の任意の場所にカーソルを置き、メインメニューまたはコンテキストメニューから を選択します。
Ctrl+Shift+A を押して、
メンバーのプルアップを検索してください。
メンバーのプルアップ ダイアログのリストから、メソッドを移動したいスーパークラスまたはインターフェースを選択します。
メソッドをプルアップするには、 プルアップするメンバー リストでそのメソッドの横にあるチェックボックスを選択します。 該当する場合は、移動するメソッドの横にある 抽象化する チェックボックスを選択します。
抽象クラス Department を拡張し、インターフェース ReportingDepartment を実装するクラス AccountingDepartment があるとします。
例 1: クラスメソッドをスーパークラスに移動する
この例では、 PrintMeeting() メソッドが AccountingDepartment から Department に移動されています。
例 2: クラスメソッドをインターフェースに移動する
この例では、 PrintMeeting() メソッドが AccountingDepartment クラスから ReportingDepartment インターフェースにコピーされます。
名前の変更リファクタリング
任意の言語のコンテキストで使用できる ファイルとフォルダーの名前を変更するに加えて、クラス、メソッド、変数、パラメーター、フィールドの名前を変更することもできます。 GoLand は宣言内のシンボルの名前と、デフォルトで現在のプロジェクトのすべての使用箇所の名前を変更します。
名前変更リファクタリングはインプレースで実行されますが、 Shift+F6 を押すと、 名前変更 ダイアログでリファクタリングスコープを構成できます。
デフォルトでダイアログを開くには、 設定 ダイアログ (Ctrl+Alt+S) を開き、 に移動して、 リファクタリングオプションを指定する 領域で モーダルダイアログ内 オプションを選択します。
エディターで、名前を変更するクラス、メソッド、変数、フィールドを選択し、 Shift+F6 を押すか、コンテキストメニューから を選択します。
キャンバスのあるフィールドで、シンボルの新しい名前を指定します。 名前を入力するか、リストから適切な名前を選択します。
オプション:
ハイライトされたシンボルの横にある
をクリックして また、名前を変更する ポップアップを開き、 コメントと文字列内を検索 および テキスト出現箇所の検索 チェックボックスを選択して、コメント、文字列リテラル、テキストでのシンボルの使用箇所の名前を変更します。
オプション:
より多くのオプションを使用して 名前変更 ダイアログを開くには、もう一度 Shift+F6 を押します。
コメントと文字列内を検索 チェックボックスを選択して、コメント、ドキュメントコメント、文字列リテラルでのシンボルの使用箇所の名前を変更します。
テキスト出現箇所の検索 チェックボックスを選択して、HTML 内のテキストおよびプロジェクトに含まれるその他のファイル内の一致するシンボルの名前を変更します。
JavaScript ファイルを検索する チェックボックスを選択して、生成された JavaScript コードでのシンボルの使用箇所の名前を変更します。
シンボルの動的使用箇所の名前を変更するには、 動的参照の検索 チェックボックスを選択します。
リファクタリングに動的な使用を含めると、下の例のように誤ったリネームが発生することがありますのでご注意ください。 ここで、
先をconsole.log(e.target)内でmyTargetに変更できます。なぜならeが型任意を持っており、つまりmyIntにもなり得るためです。interface myInt { target: string } function onClick(e: any) { console.log(e.target); }interface myInt { myTarget: string } function onClick(e: any) { console.log(e.myTarget); }
誤った名前の変更を避けるために、 変更を適用する前に変更をプレビューしてください。
シンボルの動的な使用例を表示するには、
を押してください。デフォルトでは、 リファクタリングプレビュー ツールウィンドウで、シンボルのすべての動的な使用が除外としてマークされ、 コード内の <symbol> への動的参照 ノードにグループ化されます。 使用箇所にリファクタリングを適用するには、コンテキストメニューから 含める を選択します。
クラスの名前と含まれているファイルを準拠させてください
クラスの名前を変更すると、GoLand は同じ名前のファイルの名前も変更することを提案します。 提案を受け入れると、GoLand は他のファイルのインポートステートメントでこのファイルの名前を更新します。
この提案を却下した場合は、後で ファイル名の変更… インテンションアクションを使用してファイルの名前を変更できます。 これは、新しいファイルを作成したばかりで、そこにクラスまたはインターフェースを入力し始めたときに、より適切な名前を思いついた場合に便利です。
別のインテンションアクションは、クラスを対応する名前の新しいファイルに移動することを提案します。 提案されるファイル名のフォーマットは、 コードスタイル: JavaScript ページの ファイル名規則 リストから選択したスタイルによって決まります。
対応するクラスの名前に準拠してファイルの名前を保持する
クラス名にキャレットを置き、 Alt+Enter を押します。
インテンションのリストから クラス名に一致するようにファイルを <class_name.ts> に命名変更する または クラス <class_name> をファイル <class_name.ts> に移動する を選択します。
抽出 / 導入リファクタリング
GoLand では、パラメーター・変数・定数・フィールド・メソッド・関数を導入するためのさまざまな 抽出リファクタリングが利用できます。 これらのリファクタリングを実行するには、リファクタリングしたい式を選択して を選びます。 式全体を選択するか、その中のどこかにキャレットを置くと、GoLand が選択作業をサポートします。
パラメーターの導入
パラメーターの導入リファクタリングを使用して、関数呼び出しの式をパラメーターで置き換えます。 GoLand はそれに応じて関数の宣言と呼び出しを更新します。 新しいパラメーターのデフォルト値は、関数本体の中で初期化することも、関数呼び出しを渡すこともできます。
関数 greeter() にハードコードされた "Hello, " を含むコードがあるとします。
パラメーターの導入リファクタリングを使用すると、このハードコードされた "Hello, " を greeting パラメーターに置き換えることができます。 新しい greeting パラメーターは、 オプションまたは 必須として抽出できます。
例 1: オプションのパラメーターの抽出
新しいパラメーター greeting がオプションのパラメーターとして抽出されます。 新しいパラメーターは、関数デフォルトパラメーター構文を使用して greeter() の定義に追加されます。 greeter() の呼び出しは変わりません。
例 2: 必要なパラメーターの抽出
この例では、必須パラメーターとして新たなパラメーター greeting が抽出されています。 対応する関数呼び出し(document.body.innerHTML = greeter(user); はそれに応じて変更されます。
パラメーターを導入する
エディターで、パラメーターに変換する式内にキャレットを置き、 Ctrl+Alt+P を押すか、コンテキストメニューから を選択します。

または、次のいずれかを実行します:
Ctrl+Alt+Shift+T を押して を選択します。
に進みます。
現在のキャレット位置で複数の式が検出された場合は、 式 リストから必要な式を選択します。
選択した式が複数出現する場合は、 複数の出現箇所が見つかりました リストから この出現箇所だけを置換 または 出現箇所をすべて置換 を選択してください。 最後に、リファクタリングを設定するためのポップアップが表示されます。
JSDoc を生成する を選択すると、 JSDoc(英語) コメントブロックが生成されます。 これは、カスタムのデフォルトパラメーター値を指定する必要がある場合に役立ちます。
新しいパラメーターの初期化場所を選択し、該当する場合はデフォルト値を指定してください:
省略可能なパラメーター チェックボックスが選択されている場合、パラメーターはファンクション本体のデフォルト値で初期化されます。
省略可能なパラメーター チェックボックスをオフにすると、既定のパラメーター値が既存の関数呼び出しを介して渡されます。 新しい関数シグネチャーに従ってすべての関数呼び出しが変更され、パラメーターの初期化が関数本体に追加されます。
最初は、GoLand はリファクタリングが呼び出された式をデフォルト値として受け入れます。 ほとんどの場合、変更する必要はありません。 それでも必要な場合は、JSDoc コメントに
@param <parameter name> - <default value>の形式で別のデフォルト値を指定してください。TypeScript オフィシャル Web サイト(英語)のオプションパラメーターとデフォルトパラメーターの詳細を参照してください。
候補リストからパラメーター名をダブルクリックして選択するか、キャンバスのフィールドにカスタム名を指定してください。 準備ができたら Enter を押します。
リファクタリングモードの選択
上記のようにエディター内(インプレースモード)でパラメーターを抽出することもできますし、 パラメーターの導入ダイアログ を使用することもできます。 両方のアプローチはかなり似ていますが、違いは次のとおりです:
ダイアログで、 プレビュー をクリックして、 検索 ツールウィンドウの専用タブで予想される変更を確認できます。 インプレースモードでは、この機能は使用できません。
GoLand のダイアログの 値 フィールドにデフォルトのパラメーター値が表示されます。提案を受け入れるか、別の値を入力します。 インプレースモードでは、GoLand はリファクタリングが呼び出された式をデフォルトのパラメーター値として扱います。 別の値を指定するには、JSDocコメントブロックを使用する必要があります。
変数の導入
式を 関数スコープ変数 (var)(英語)、 ブロックスコープ変数 (let)(英語)、 ブロックスコープ定数 (const)(英語) に置き換えるには、 変数の導入リファクタリングを使用します。 このリファクタリングにより、ソースコードの読み取りと保守が容易になります。 また、値や目的の説明がないままハードコードされた定数の使用を避けるのにも役立ちます。
変数を導入する
エディターで、変数に変換する式を選択し、 Ctrl+Alt+V を押して、コンテキストメニューから を選択します。
または、次のいずれかを実行します:
Ctrl+Alt+Shift+T を押して を選択します。
に進みます。
現在のキャレット位置で複数の式が検出された場合は、 式 リストから必要な式を選択します。
選択した式が複数出現する場合は、 複数の出現箇所が見つかりました リストから この出現箇所だけを置換 または 出現箇所をすべて置換 を選択してください。
最後に、リファクタリングを設定するためのポップアップが表示されます。
リストから新しい変数の宣言に使用するステートメントを選択してください:
var を選択して、 関数スコープ変数を導入します。 この変数は、囲んでいる関数内または関数の外で宣言できます。
let を選択して ブロックスコープ変数(英語)を導入します。
const を選択して、 ブロックスコープ定数を導入します。
候補リストからパラメーター名をダブルクリックして選択するか、キャンバスのフィールドにカスタム名を指定してください。 準備ができたら Enter を押します。
リファクタリングモードの選択
上記のように(インプレースモードで)エディターで変数を抽出するか、 変数の導入ダイアログ を使用できます。 デフォルトで、GoLand はインプレースモードで Introduce Variable リファクタリングを実行します。 変数の導入 ダイアログを使用するには、 設定 ダイアログ(Ctrl+Alt+S )を開き、 エディター | コード編集 に移動して、 リファクタリング 領域で モーダルダイアログ内 オプションを選択します。
定数の導入
定数の導入リファクタリングを使用して、式を 定数(英語)に置き換えます。 このリファクタリングにより、ソースコードの読み取りと保守が容易になります。 また、値や目的の説明がないままハードコードされた定数の使用を避けるのにも役立ちます。
Department name: がハードコードされたコードのフラグメントがあるとします。
定数の導入リファクタリングを使用すると、ハードコードされた Department name を定数に置き換えることができます。 抽出された定数のスコープは、新しい定数が宣言されているコンテキスト(囲んでいるメソッド内、クラスのフィールド、クラス外)に依存します。
例 1: 定数 departmentName を導入し、printName() メソッド内で宣言します
例 2: 定数 departmentName を導入し、AccountingDepartment クラスの _departmentName フィールドとして宣言します
例 3: 定数 departmentName を導入し、どのクラスの外にも宣言します
定数を導入する
エディターで、定数に変換する式を選択して Ctrl+Alt+C を押すか、コンテキストメニューから を選択します。
または、次のいずれかを実行します:
Ctrl+Alt+Shift+T を押して を選択します。
に進みます。
現在のキャレット位置で複数の式が検出された場合は、 式 リストから必要な式を選択します。
新しい定数のスコープを選択してください:
ローカル定数 は囲むメソッド内で宣言されます。詳細は 例 1を参照してください。
クラスフィールド は現在のクラス内で宣言されます。詳細は 例 2を参照してください。
グローバルまたはモジュール定数 はどのクラスの外にも宣言されます。詳細は 例 3を参照してください。
GoLand は、抽出された定数が選択したスコープに応じてどこに宣言されるかを示すツールチップを表示します。
GoLand が式の複数回出現を検出した場合は、すべて置換するのか、それともリファクタリングが実行された箇所だけ置換するのかを選択します。
候補リストからパラメーター名をダブルクリックして選択するか、キャンバスのフィールドにカスタム名を指定してください。 準備ができたら Enter を押します。
フィールドの導入
フィールドの導入リファクタリングでは、新しいフィールドが宣言され、選択された式で初期化されます。 元の式はフィールドの使用箇所に置き換えられます。
次のコードがあるとします:
以下の 3 つの例すべてで、同じフィールド _calcArea が導入されています。 例は、導入されたフィールドを初期化する 3 つの異なる方法を示しています。
例 1: _calcAreais フィールドを導入し、囲む get Area() メソッド内で初期化します
例 2: _calcAreais フィールドを導入し、宣言時に初期化します
例 3: _calcAreais フィールドを導入し、クラスのコンストラクター内で初期化します
フィールドを導入する
エディターで、定数に変換する式を選択して Ctrl+Alt+F を押すか、コンテキストメニューから を選択します。

または、次のいずれかを実行します:
Ctrl+Alt+Shift+T を押して を選択します。
に進みます。
GoLand が式の複数回出現を検出した場合は、すべて置換するのか、それともリファクタリングが実行された箇所だけ置換するのかを選択します。
ポップアップで、新しいフィールドを初期化する場所を選択します:
現在のメソッド、 例 1 を参照。
フィールド宣言、 例 2 を参照。
コンストラクター は、 例 3 を参照してください。 フィールド初期化子からリファクタリングを呼び出す場合、このオプションは無効になることに注意してください。

フィールド宣言またはコンストラクターで初期化する場合、新しいフィールドに readonly 修飾子(英語)を付けることができます。 これを行うには、 読み取り専用にする チェックボックスをオンにします。
フィールドの表示を選択すると、使用可能なオプションは 公開、 プライベート、 保護 です。 TypeScript オフィシャル Web サイト(英語)のフィールド可視性修飾子について学ぶ
候補リストからパラメーター名をダブルクリックして選択するか、キャンバスのフィールドにカスタム名を指定してください。 準備ができたら Enter を押します。
リファクタリングモードの選択
デフォルトで、GoLand はエディターでフィールド導入リファクタリングを(インプレースモードで) 上記のとおり実行します。
フィールドの抽出ダイアログを利用するには、 設定 ダイアログ(Ctrl+Alt+S )を開き、 エディター | コード編集 に移動して、 リファクタリング 領域で モーダルダイアログ内 オプションを選択してください。
メソッドの抽出
メソッドの抽出リファクタリングでは、抽出されたコードで名前付きのメソッドまたは関数を作成できます。 メソッドの抽出リファクタリングが呼び出されると、GoLand は選択されたコード箇所の入力となる変数と出力となる変数を検出します。 検出された出力変数は、抽出されたメソッドまたは関数の戻り値として使用されます。
例 1: 別のメソッド内の式からグローバルメソッドを抽出する
この例では、グローバルスコープのメソッド NewMethod() が let c = a + b; 式から抽出されます。 抽出されたメソッドのパラメーターは let c = a + b; 式から取得されます。
例 1.1: 関数宣言を生成する
例 1.2: 抽出された関数が式の中で宣言されている
例 2: 閉じたメソッドの中で宣言付きのメソッドを抽出する
この例では、 let c = a + b; 式からメソッド NewMethod() が抽出されます。 宛先範囲 function MyFunction が選択されます。
例 3: 任意のメソッドの外部の式からメソッドを抽出する
メソッド NewMethod() は、メソッド外の var e = MyFunction(4, 6); 式から抽出されます。 抽出されたメソッドはグローバルスコープです。
関数またはメソッドを抽出する
エディターで、関数に変換するコードフラグメントを選択し、 Ctrl+Alt+M を押すか、コンテキストメニューから を選択します。
または、次のいずれかを実行します:
Ctrl+Alt+Shift+T を押して を選択します。
に進みます。
選択した式が別の関数内にある場合は、リストから抽出先のスコープを選択してください。 GoLand は、抽出された関数 / メソッドがどこで宣言されるかを示すツールチップを表示します:
関数の抽出関数の抽出 ダイアログを開いてさらにオプションを表示するには、もう一度 Ctrl+Alt+M を押します。 このダイアログでは、抽出された関数を生成された 関数宣言(英語)または 式内で宣言するかどうかを選択し、パラメーターとして渡される変数のセットを構成できます。 上記の例を参照してください。
デフォルトで関数抽出ダイアログを開く
設定 ダイアログ(Ctrl+Alt+S )を開き、 エディター | コード編集 に移動して、 リファクタリング 領域で モーダルダイアログ内 オプションを選択します。
型エイリアスの抽出
このリファクタリングを使用して、型宣言式を 型エイリアス(英語)に変換し、この式のすべての出現箇所をこのエイリアスに置き換えます。
{ z: number } 型の宣言を持つコードの断片があるとします。
以下の例では、型エイリアス MyNewAlias が { z: number } 型宣言から抽出されています。
型エイリアスを抽出する
エディターで、型エイリアスに置き換える式内にキャレットを置き、コンテキストメニューから を選択するか、メインメニューから を選択します。
現在のキャレット位置で複数の式が検出された場合は、 式 リストから必要な式を選択します。
選択した式が複数出現する場合は、 複数の出現箇所が見つかりました リストから この出現箇所だけを置換 または 出現箇所をすべて置換 を選択してください。
キャンバスのあるフィールドに、型エイリアスの名前を入力し、準備ができたら Enter を押してください。
スーパークラスの抽出
スーパークラスの抽出リファクタリングは、現在のクラスのメンバーに基づいて新しい抽象クラスを作成します。 作成された抽象クラスは自動的に拡張されます。
クラス AccountingDepartment を持っていて、そこからの printName() メソッドが再利用されることを期待しているとします。
スーパークラス Department を抽出し、その中に printName と 命名 フィールドを含めることができます。
スーパークラスを抽出する
スーパークラスを抽出するクラス内の任意の場所にキャレットを配置します。
メインメニューから を選択するか、コンテキストメニューから を選択します。 「スーパークラスの抽出 」ダイアログが開きます。
新しいスーパークラスの名前を指定し、そこに含めるクラスメンバーの横にあるチェックボックスを選択します。
宛先ファイル フィールドに、新しいクラスが配置されるファイルの場所を指定します。 デフォルトでは、フィールドにはリファクタリングが呼び出された現在のファイルへのパスが表示されます。
スーパークラスの抽出 を選択します。 GoLand は新しいクラスを作成し、ソースクラスに
extendsをマークします。スーパークラスを作成し、ソースクラスへの参照をメソッドのパラメーター内のスーパークラスへの参照に置き換えるには、 スーパークラスを抽出し、可能な限り使用する を選択します。 GoLand は 検索 ツールウィンドウの リファクタリングプレビュー ペインに提案された変更を表示します。
インターフェースの抽出
インターフェースの抽出 リファクタリングは、現在のクラスのメンバーに基づいて新しいインターフェースを作成します。 作成されたインターフェースは自動的に実装されます。
クラス AccountingDepartment を持っていて、そこからの generateReports() メソッドが他の実装を持つことを期待しているとします。
DepartmentInterface インターフェースを抽出し、その中に generateReports() を含めることができます。
インターフェースを抽出する
インターフェースを抽出するクラス内の任意の場所にキャレットを配置します。
メインメニューから を選択するか、コンテキストメニューから を選択します。 「インターフェースの抽出 」ダイアログが開きます。
新しいインターフェースの名前を指定し、そこに含めるクラスメンバーの横にあるチェックボックスを選択します。
宛先ファイル フィールドに、新しいインターフェースが配置されるファイルの場所を指定します。 デフォルトでは、フィールドにはリファクタリングが呼び出された現在のファイルへのパスが表示されます。
インターフェースの抽出 を選択します。 GoLand は新しいインターフェースを作成し、ソースクラスをその実装としてマークします。
インターフェースを作成し、ソースクラスへの参照をメソッドのパラメーター内のインターフェースへの参照に置き換えるには、 インターフェースを抽出し、可能であれば使用する を選択します。 GoLand は 検索 ツールウィンドウの リファクタリングプレビュー ペインに提案された変更を表示します。
オブジェクトまたは配列の非構造化を導入
構造を分割すると、配列やオブジェクトの値を変数に簡単に解凍できます。 この機能には非常に簡潔な構文があり、アプリケーションでデータを渡す必要がある場合によく使用されます。 詳細については、 TypeScript オフィシャル Web サイト(英語)を参照してください。
GoLand では、インテンションアクション Alt+Enter を使用して非構造化を呼び出すことができます。 オブジェクト / 配列の分割代入に置き換えるアクションを使用すると、元の割り当てが削除されます。 割り当てを維持するには、 オブジェクト / 配列の分割代入を導入するを使用します。
元の割り当てを置き換える
配列またはオブジェクトの値にキャレットを置き、 Alt+Enter を押します。
リストから、 オブジェクトの非構造化に置換 または 配列の非構造化に置換 を選択します。
配列またはオブジェクトの値の一部が使用されない場合、これらの要素はスキップされます:
元の割り当てを保持する
配列またはオブジェクトの値にキャレットを置き、 Alt+Enter を押します。
リストから、 オブジェクトの非構造化を導入する または 配列の非構造化を導入する を選択します。
関数の分解パラメーターを生成する
関数のパラメーターにキャレットを置き、 Alt+Enter を押します。
リストから パラメーターをオブジェクトに変換する を選択します。
インライン化リファクタリング
インラインリファクタリングは 抽出リファクタリングとは反対の操作です。
例 1: 変数のインライン化
変数のインライン化リファクタリングは、変数または定数の冗長な使用箇所をそのイニシャライザーに置き換えます。 この型のリファクタリングは、ブロックスコープおよび関数スコープの変数でのみ使用できます。
例 2: メソッドのインライン化
インラインメソッド/インライン関数リファクタリングを行うと、メソッドまたは関数の本体が呼び出し元の本体内に配置され、メソッドや関数自体は削除されます。
以下の例では、 Sum() の本体が Multiplication() の本体に配置されています。
インラインで実行リファクタリング
エディターで、インライン化するシンボルにキャレットを置き、 Ctrl+Alt+N を押すか、コンテキストメニューまたはメインメニューから を選択します。
シグネチャーの変更リファクタリング
シグネチャーの変更リファクタリングを使用して、関数の名前、可視性、戻り値の型を変更し、パラメーターの追加、削除、並べ替え、名前の変更、呼び出しの階層を介した新しいパラメーターの伝播を行います。
Introduce Parameterリファクタリングを使ってパラメーターを追加することもできます。
以下の例では、関数 eat() の名前が feed() に変更され、新しい boolean パラメーター isMammal が導入されています。
シグネチャーの変更を呼び出す
エディターで、リファクタリングする関数の名前内にキャレットを置き、 Ctrl+F6 を押すか、コンテキストメニューまたはメインメニューから リファクタリング | シグネチャーの変更 を選択します。 「シグネチャーの変更 」ダイアログが開きます。
関数の名前を変更する
シグネチャーの変更 ダイアログ Ctrl+F6 で、 命名 フィールドを編集します。
関数の戻りの型を変更する
戻り値の型 フィールドに、関数が返す値の型を指定します。 フィールドが空の場合、戻り値の型は
voidとして扱われます。 TypeScript オフィシャル Web サイト(英語)の return の種類について詳しくは、こちらを参照してください。
関数の可視性を変更する
可視性 リストから、 関数修飾子を選択します。使用可能なオプションは、 public (デフォルト)、 private 、および protected です。
関数パラメーターを管理する
シグネチャーの変更 ダイアログ Ctrl+F6 では、パラメーターのテーブルとその右側のボタンを使用します。
パラメーターを追加するには、
Alt+Insert をクリックして、新しいパラメーターの名前とその型を指定します。 パラメーターのデフォルト値または関数呼び出しを介して渡される値を指定します。
必要に応じて、現在の関数を呼び出す関数に 新しいパラメーターを伝達します。
パラメーターを削除するには、対応する行のいずれかのセルをクリックし、
  Alt+Delete をクリックします。
パラメーターを並べ替えて、必須パラメーターがオプションのパラメーターの前にリストされるようにするには、
Alt+Up、
Alt+Down を使用します。 TypeScript オフィシャル Web サイト(英語)の必須およびオプションのパラメーターの詳細を参照してください。
パラメーターの名前を変更するには、 命名 フィールドを編集します。
呼び出しの階層に沿ってパラメーターを伝搬する
シグネチャーの変更 ダイアログ Ctrl+F6 で、パラメーターを選択し、
をクリックします。 新規パラメーターを伝播するメソッドの選択 ダイアログが開きます。 左側のペインには、関数呼び出しの階層が表示されます。 関数を選択すると、右側のペインのコードと、 呼び出し元メソッド フィールドと 呼び出し先メソッド フィールドにそれぞれ呼び出される関数のコードが表示されます。左側のペインで、パラメーターを伝播する機能の横にあるチェックボックスを選択し、 OK をクリックします。
変更をプレビューしてリファクタリングを完了する
シグネチャーの変更 ダイアログ Ctrl+F6 で、 プレビュー をクリックします。
リファクタリングプレビュー タブの Find ツールウィンドウ で、 予想される変更を表示し 、必要な調整を行い、準備ができたら リファクタリング実行 をクリックします。
デフォルトのエクスポートを名前付きエクスポートに変換する
クラス、関数、定数変数、文字列、オブジェクト、型の場合、 export default ステートメントを名前付き エクスポート ステートメントに置き換え、対応する インポート ステートメントをそれに応じて更新することができます。
シンボルが再エクスポートされると、対応する エクスポート ステートメントも更新されます。
リファクタリングは、 export default ステートメントと インポート ステートメントの両方から呼び出すことができます。
export defaultステートメントまたはエクスポート対象の名前にキャレットを置き、 Alt+Enter を押して デフォルトのエクスポートを名前付きエクスポートに変換する を選択します。 プレビューを切り替えるには、 Ctrl+Q を押します。
インポートステートメント内で、インポート対象の名前にキャレットを置き、 Alt+Enter を押して デフォルトのエクスポートを名前付きエクスポートに変換する を選択します。 プレビュー(Ctrl+Q )に、インポートステートメントがどのように更新されるかが表示されます。
名前付きエクスポートをデフォルトエクスポートに変換
クラス、関数、定数変数、文字列、オブジェクト、型の場合、名前付き エクスポート ステートメントを export default ステートメントに置き換え、対応する インポート ステートメントをそれに応じて更新することができます。
リファクタリングは、 export default ステートメントと インポート ステートメントの両方から呼び出すことができます。
エクスポートステートメント内でエクスポートする項目の名前にキャレットを置き、 Alt+Enter を押して 名前付きエクスポートをデフォルトエクスポートに変換 を選択します。 プレビューを切り替えるには、 Ctrl+Q を押します。
インポートステートメント内で、インポート対象の名前にキャレットを置き、 Alt+Enter を押して 名前付きエクスポートをデフォルトエクスポートに変換 を選択します。 プレビュー(Ctrl+Q )に、インポートステートメントがどのように更新されるかが表示されます。