ReSharper 2020.1ヘルプ

テンプレートの保存

ReSharperのコードテンプレートに関する興味深い点の1つは、分散ストレージです。コードテンプレートは、社内組織の詳細を十分に理解していなくても、使用して管理するのに優秀に動作します。ただし、テンプレートの編集や共有に問題が発生したり、複雑な使用シナリオが発生した場合は、これらの詳細を調べる必要があります。

定義済みのテンプレート

すべての事前定義テンプレートはReSharperインストールに保管されています。事前定義されたテンプレートの削除を含むすべての必要な変更は設定レイヤーに保存されます。

どのように動作するかをよりよく理解します。次の図に示すように、定義済みのテンプレートをボディ、説明、およびスコープの3つのフィールドに単純化しましょう。そして、レイヤー1でテンプレートのスコープを編集した後、レイヤー2でテンプレートの説明を、次にレイヤー3でテンプレートのスコープを編集したとします。

Simplified view of a predefined template

3つのレイヤーがすべて適用されたときに得られる変更されたテンプレートは、元の定義済みテンプレートのボディ、レイヤー2の説明、およびレイヤー3のスコープを基礎レイヤー1よりも優先させます。

コードテンプレートはGUIDによって内部的に識別され、すべてのフィールドを編集可能にします。事前定義されたテンプレートは、すべてのReSharperインストールで同じGUIDを持ちます。あらかじめ定義されたテンプレートの変更をエクスポートすると、他のReSharperユーザーはそれをインポートする際に問題ありません。

定義済みのテンプレートに対するすべての変更が設定レイヤーに保存されるため、変更が含まれているレイヤーをクリアすることで、これらのテンプレートのデフォルト状態にいつでも戻ることができます。あらかじめ定義されたテンプレートを削除しても、ReSharperはそれを対応する設定レイヤーで削除済みとしてマークします。このレイヤーをクリアすると、削除されたテンプレートが復元されます。

設定レイヤーをクリアするには、メインメニューでReSharper | オプションの管理を選択し、レイヤーを右クリックしてリセットを選択し、PatternsAndTemplates項目にチェックマークを付けてリセットをクリックします。

ユーザー定義テンプレート

Unlike predefined templates, each user-defined template is saved in some settings layer. If you edit such template in the layer where it is defined, the edited fields are modified. However, if you edit a user-defined template in another layer, the modifications will be saved in this layer the same as for a predefined template.

次のユーザー定義テンプレートの単純化モデルでは、レイヤー2で作成されたテンプレートが表示され、そのレイヤーの記述が同じレイヤーで変更され、最後にそのスコープがレイヤー3で編集されます。

Simplified view of a user-defined template

ユーザー・インターフェース

テンプレートエクスプローラーウィンドウでは、テンプレートの格納を制御できます。セレクタを使用して設定レイヤーを選択し、このレイヤーに保存されるユーザ定義テンプレートを確認し、必要に応じて変更します。セレクタに表示されるレイヤーの順序は、レイヤーが互いにオーバーライドする順序に対応します(上記の図を参照)。

Selecting settings layer in Template Explorer

選択したレイヤーに他のテンプレートの変更のみが含まれている場合、そのレイヤーは表示されません。ただし、このレイヤーにあらかじめ定義されたテンプレートが変更されている場合は、これらの変更がどのように適用されるかを確認することができます。これを行うには、フィルタテンプレート ThemedIcon Filter Screen Gray png をクリックし、定義済みのテンプレートを表示するを選択します。

To create a new template in a specific layer, choose this layer in the selector and click 新規テンプレート ThemedIcon AddLiveTemplate Screen Gray png .

スマートレイヤーは次のように動作します。

  • 新しいテンプレートを作成すると、「このコンピューター」のレイヤーに保存されます。

  • 「このコンピューター」レイヤーに保存されているテンプレートを変更すると、このレイヤーに変更内容が保存されます。

  • 他のレイヤーに保存されたテンプレートを変更すると、その変更は 'Solution personal'レイヤーに保存されます。

  • 定義済みのテンプレートを変更すると、変更内容は「このコンピューター」のレイヤーに保存されます。

The mechanism of template storage may seem tricky at first, but it helps you have a right set of templates for each solution, share templates with your team, import and export templates, all without much effort. Here are a couple of examples to illustrate how it may be helpful.

  • いくつかのカスタムファイルタイプに適用できるように、定義済みテンプレートの範囲を変更しました。その後、ReSharperの新しいバージョンでは、テンプレート本体が更新されました。この新しいバージョンをインストールした後、更新されたボディを手に入れると同時に修正されたスコープを保持します。

  • チームリーダーはカスタムライブテンプレートを作成し、それをチームと共有しました。テンプレートが好きでそれを使用しますが、それのための他の近道を持っていることを好みます。問題ない。テンプレートのショートカットを編集してパーソナルソリューション設定レイヤーに変更を保存すると、ソリューションチーム共有レイヤーが上書きされます。あなたの個人的な近道を持つことになり、チームは何の変化も見ないでしょう。そしてもちろん、もしテンプレートの本体やスコープが更新されれば、すべての更新を受けるでしょう。

最終更新日: 2020年5月08日

関連ページ:

後置テンプレート

後置テンプレートは後ろにジャンプすることなくすでにタイプした式を変換できます - ちょうど式の後にドットをタイプしそして補完リストからテンプレートを選んでください。You can extend the default set of postfix templates with your custom...

ソース・テンプレート

Traditionally, templates or snippets are stored and managed outside of your source code. This makes sense because normally a template helps you quickl...

定義済みのテンプレート

このセクションでは、事前定義済みのすべてのコードテンプレートを一覧表示します。事前定義済みのテンプレートは、C#、VB.NET、ASP.NET、XML、HTML、Razor、CSS、JavaScript、TypeScript、およびResxコードの最も一般的なケースを網羅しています。以下のセクション...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

テンプレートエクスプローラーウィンドウ

ReSharper | ツール | テンプレートエクスプローラーTheテンプレートエクスプローラーwindow lists allコード・テンプレートand provides necessary controls for作成、編集andmanagingcode templates.このページでは、テ...

ライブ/サラウンドテンプレートを作成する

ライブ/サラウンドテンプレートは、既存のファイルにコードを生成するために使用できます(テンプレート本文にパラメーターがある場合)。ステートメントなどのテンプレートコードでコードフラグメントを囲むために使用できます。各ライブテンプレートは、ショートカット(foreachなどの短い文字列)で識別され、エ...