web-dev-qa-db-ja.com

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

Visual Studioで作成するほぼすべてのC#ファイルで、次のimportステートメントを削除しています。

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

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

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

192

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

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年に似ています。したがって、Enterpriseエディションの場合:

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

ノート

Express Edition

Express Editionでは、WDExpressフォルダ内のサブディレクトリIDEを検索する必要があります。 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です。

337
Sam Harwell

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

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

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

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


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

8
SLaks

新しいクラステンプレートは、プロジェクトの種類によっても異なるフォルダーに配置される場合があります。 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
tjlindahl

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
Aaron Hoffman

古い質問-新しい回答:問題のある質問に対して申し訳ありません。なぜそれを気にしますか。

生産性向上ツール(Visual Studio拡張機能、とにかく使用することをお勧めします)->「保存時に使用を削除および並べ替え」というオプション/設定を有効にします。

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

0
TiTime

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

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

0
sunefred