新しいC#クラス/インターフェイスのVisual Studioテンプレートを編集するにはどうすればよいですか?


209

Visual Studioで作成したほぼすべてのC#ファイルから、次のインポートステートメントを削除していることに気づきました。

using System.Collections.Generic;
using System.Linq;
using System.Text;

もちろん、Resharperでこれを行うのは本当に簡単ですが、私は本当にそうする必要はありません。

VSディレクトリのどこかにいくつかのテンプレート(クラス、インターフェイス)が必要です。そこから問題の行を削除できます。これらのファイルはどこにありますか?デフォルトのインポートリストを制御するより良い方法はありますか?

回答:


369

抽出、編集、再圧縮します。パスはクラステンプレート用ですが、インターフェーステンプレートは同じフォルダーにあります。

それぞれのVSテンプレートファイルを編集して、アセンブリSystem、System.Data、System.Xmlへの参照を自動的に追加しないという事実を削除することができます。

2005:

C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033\Class.zip

2008:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip

2010:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip

Visual Studio 2012以降、テンプレートは圧縮されないため、.cs該当する各フォルダー内の各テンプレートを直接編集できます。

2012:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2013:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2015:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2017年

VS 2017はディレクトリの場所を変更し、エディション(Professional / Enterprise / etc)に依存するようになりました。エンタープライズ版の場合:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

2019年

VS 2019の場所は2017と似ています。エンタープライズ版の場合:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

ノート

エクスプレス版

Express Edition ではWDExpressIDEフォルダー内のサブディレクトリを検索する必要があります。たとえば、VS 2015 Expressの場合:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\WDExpress\ItemTemplates\CSharp\Code\1033\Class\Class.cs

他の言語

Visual Studioの英語版を使用しない場合、フォルダー1033は存在しない可能性がありますが、言語を表す別の番号です。たとえば1031、ドイツ語のインストールです。


42
Visual Studioでのこれらの変更が常に反映されるわけではありません。必要がない場合は、ItemTemplatesCache(に加えてItemTemplates)ディレクトリ内のファイルを編集します。例(2005年)C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs。これClass.zipはディレクトリであり、実際のZIPファイルではないことに注意してください。
Joe

5
サービスパックを更新するとキャッシュがワイプされることに注意してください。元に戻すことができるように、必ずバックアップしてください。
sweetfa 2012

3
@Joe:またはdevenv / setupを実行して、Visual Studioにテンプレートを再ロードさせます。そのコマンドの実行には1分かかる場合があります。
ブライアン

4
@Brian devenv.exe / installvstemplatesで十分です。少なくともVS 2012の場合。VSの実行中に実行可能です。
ルーカス

6
ASP.NET/MVCを使用していて、Visual Studioがテンプレートの更新を取得しない場合は、編集してC:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs.からdevenv.exe / installvstemplatesを実行します。
J.アンドリューラフリン

9

次のディレクトリを探しています。

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp

各テンプレートは、1033このフォルダーのいずれかのカテゴリーの(英語)サブフォルダー内にあるZIPファイルです。.csZIPファイル内のファイルを編集できます。

32ビットシステムを使用している場合は、を削除し(x86)ます。VS2005はMicrosoft Visual Studio 8、VS2010はMicrosoft Visual Studio 10.0です。


これらのテンプレートはユーザーごとではないことに注意してください。これらのZIPファイルをにコピーして、ユーザーごとのテンプレートを作成できますMy Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#


1
ここにユーザーごとのオプションをありがとう。ただし、少なくともVS2015では、zipファイル/フォルダーはありません。私のパスはC:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class、その後、作成してにコピーしました...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class。この間、Visual Studioを閉じました。またdevenv.exe /installvstemplates、別のコメントに記載されているコマンドも実行しました。VSを再起動すると、新しいクラスを作成するときに変更が反映されました。優れた!
sliderhouserules

1

Visual Studio 2012の場合、これらをデフォルトのclass.csファイルから削除するには、アイテムテンプレートを次のようにします(usingステートメントを含めたり削除したりしないでください)。

デフォルトのクラステンプレートファイル:C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 \ Class \ Class.cs

using System;
namespace $rootnamespace$
{
    class $safeitemrootname$
    {
    }
}

詳細はこちら:http : //aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html


1

プロジェクトの種類によっては、新しいクラステンプレートが別のフォルダーに配置される場合もあります。VS 2015でWebプロジェクトで作業しているときに、ファイルを編集すると

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

新しいクラスを作成するときに、デフォルトのテンプレートに違いを確認できませんでした。ファイルを編集した後でした

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs

私が欲しかったデフォルトのフォーマットで新しいクラスを作成することができました。


1

サム・ハーウェルからの優れた情報への新たな追加。私はVisual Studio 2019 Communityを使用していますが、クラステンプレートへのパスは、「Enterprise」が「C​​ommunity」に置き換えられていることを除いて、すでに説明したものと同じです。そう:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class

私のインストールでは、クラスの「zip」フォルダがzipではないことにも言及する価値があります。それは単に別のフォルダです。

もう1つの「問題」は、プレビュー版を実行している場合、独自の「プレビュー」フォルダにあることです。

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class

他のテンプレートの場合、探すフォルダは次のとおりです。

C:\ Program Files(x86)\ Microsoft Visual Studio \ [YEAR] \ [EDITION] \ Common7 \ IDE \ ItemTemplates

だから、私のマシンではそれは:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates

[2020年5月10日編集]

また、[ツール]から[ユーザーアイテムテンプレートの場所]の値を確認する必要があります。オプション| プロジェクトとソリューション/場所


これが誰かの役に立つことを願っています。


0

古い質問-新しい答え:たぶん、気分を害する質問:どうしてそんなに気にしないのですか。

生産性パワーツール(ビジュアルスタジオ拡張機能、とにかくそれを使用することをお勧めします)->オプションを有効にします/設定と呼ばれる:「保存時に使用を削除して並べ替え」

とにかくファイルを保存する必要があるので、余分なクリック、キーボードショートカット、テンプレートの手動変更などはありません。


0

サム・ハーウェルからの素晴らしい答えに追加したいだけです。複数のクラステンプレートがある場合AspNetCoreがあります。たとえば、次の場所に独自のテンプレートがあります。

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Enterprise \ Common7 \ IDE \ ItemTemplates \ AspNetCore \ Code \ 1033 \ Class \ Class.cs

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.