テキストエディターの便利な機能

テキストエディターを使用すると、以下の作業を簡単に実行できます。

  • 宣言可能なオブジェクトの名前を変更する

  • 宣言可能なオブジェクトの名前を強調表示して見つける

  • 定義が参照されている場所を見つける

  • コード範囲を選択する

  • 記号に移動する

  • 要素を宣言に抽出する

宣言可能なオブジェクトの名前を変更する

1 つのアクションのみを使用して、プロジェクトで使用されるすべての場所で宣言可能なオブジェクトの名前を変更できます。

宣言されている場所でオブジェクトの名前を右クリックし、​[Rename Symbol (シンボルの名前を変更)]​ を選択して、新しい名前を指定します。これにより、プロジェクトのルートファイルに関連付けられた現在のプロジェクトのすべてのファイルで使用されるすべての場所でオブジェクトの名前が変更されますが、言及されているだけの場所では名前が変更されません。

たとえば、次の例では、API 仕様 ​product_name​ は 5 行目のコールアウト 1 で種別として宣言され、コールアウト 2 で言及され、17 行目のコールアウト 3 で使用されています。コールアウト 1 の ​product_name​ を右クリックし、​[Rename Symbol (シンボルの名前を変更)]​ オプションを使用してその名前を変更すると、​product_name​ はコールアウト 3 でのみ変更されます。

#%RAML 1.0
title: Test Renaming

types:
  product_name:  (1)
    type: object
    properties:
      name: string

/test:
  get:
    responses:
      200:
        description: product_name  (2)
        body:
          application/json:
            type: product_name  (3)

宣言可能なオブジェクトの名前を強調表示する

ファイル内で使用されている宣言可能なオブジェクトの名前を強調表示できます。

オブジェクトが使用されるファイル内のすべての場所を表示するには、そのオブジェクトが宣言されている場所でオブジェクトの名前にカーソルを置いてクリックします。

たとえば、次のサンプル API 仕様では、5 行目の最初のコールアウトで種別 ​person​ が宣言されています。その後、この種別は 16 行目の 2 番目のコールアウトで使用されます。5 行目の ​person​ をクリックすると、テキストエディターで 16 行目の ​person​ が強調表示されます。

#%RAML 1.0
title: Test Highlighting

types:
  person:  (1)
    type: object
    properties:
      name: string

/test:
  get:
    responses:
      200:
        body:
          application/json:
            type: person  (2)

この強調表示は、種別、セキュリティスキーム、リソース種別、特性など、宣言可能なすべてのオブジェクトで機能します。

強調表示は、オブジェクトが使用される場所でのみ表示され、その名前が表示されるすべての場所で表示されるわけではありません。たとえば次の例では、API 仕様 ​person​ は、5 行目のコールアウト 1 で種別として宣言され、14 行目のコールアウト 2 で言及され、17 行目のコールアウト 3 で使用されています。コールアウト 1 の ​person​ をクリックすると、コールアウト 3 の ​person​ のみが強調表示されます。

#%RAML 1.0
title: Test Highlighting

types:
  person:  (1)
    type: object
    properties:
      name: string

/test:
  get:
    responses:
      200:
        description: person  (2)
        body:
          application/json:
            type: person  (3)

定義が参照されている場所を見つける

特定の定義が参照されている場所に移動するには、定義を右クリックし、​[Go to References (参照に移動)]​ を選択します。

たとえば、次のサンプル API 仕様では、5 行目の最初のコールアウトで種別 ​person​ が宣言されています。その後、この種別は 14 行目の 2 番目のコールアウトと 22 行目の 3 番目のコールアウトで使用されます。

#%RAML 1.0
title: Test References

uses:
  lib: library.raml

types:
  person:  (1)
    description: this is person's description
    properties:
      firstname: string
  manager:
    type: lib.manager
  Alertable: manager | person  (2)

/person:
  get:
    responses:
      200:
        body:
          application/json:
            type: person[]  (3)

5 行目の ​person​ を右クリックし、​[Go to References (参照に移動)]​ を選択すると、​person​ の場所 (コールアウト 2 とコールアウト 3) のリストが表示されます。リストされた場所をダブルクリックすると、関連する行に移動します。

[Go to References (参照に移動)]​ では、以下もサポートされます。

  • RAML リソース種別および特性

  • RAML 型の式

  • ライブラリの別名

  • JSON パスナビゲーションでリンクされている参照

  • annotationTypes​、​securitySchemes​、​resourceTypes​、​traits​ などのマクロを適用するノードへの参照

コード範囲を選択する

[Selection Ranges (選択範囲)] により、コードブロックを選択したり、その選択を拡張したりできます。

範囲を選択するには、要素をクリックして、Control + Shift + [左矢印 | 右矢印] を押します。右矢印キーは範囲を増やします。左矢印キーは範囲を減らします。

たとえば、次のコードの ​body:​ をクリックして、Control + Shift + 右矢印を押すと、​body:​ のみが含まれる選択範囲が作成されます。

30%

Control + Shift + 右矢印をもう一度押すと、次のような選択範囲になります。

30%

Control + Shift + 左矢印を押すと、選択範囲がなくなり、再度 ​body:​ のみが選択された状態になります。

記号に移動する

ドキュメントの任意の場所を右クリックして、​[Go to Symbol (記号に移動)]​ を選択すると、定義された記号のリストが表示されます。

75%

記号を選択すると、ドキュメントのその場所に移動します。

要素を宣言に抽出する

リファクタリングヘルパーを利用して、設計の継続的な改善を容易に行うことができます。そのようなヘルパーにより、宣言可能なインライン要素を最上位の宣言に抽出して、再利用できるようになります。

宣言可能なインライン要素と一致する範囲を選択すると、要素の左側にアイコンが表示されます。

37%

アイコンをクリックして、​[Extract to Declaration (宣言に抽出)]​ を選択すると、ドキュメントに次の 2 つの変更が加えられます。

37%

最初のコールアウトは、​type: lib.manager​ が ​type: newtype​ に置き換わったことを示しています。(2 番目のコールアウトで示されているように) ​newtype​ 宣言が ​manager​ スコープの外側に配置され、​newtype​ を再利用できるようになります。

抽出された宣言名は、元の名前に基づきます。名前がすでに同じ種類の別の宣言で使用されている場合、自動的に名前の最後に増分番号が追加されます。宣言の名前は変更できます。

types​ 宣言と共に、​resourceTypes​ 宣言と ​traits​ 宣言も抽出できます。