Bagaimana cara mengedit templat Visual Studio untuk kelas / antarmuka C # baru?

209

Saya menemukan diri saya menghapus pernyataan impor berikut di hampir setiap file C # yang saya buat di Visual Studio:

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

Tentu saja sangat mudah untuk melakukan ini dengan Resharper, tetapi saya benar-benar tidak harus melakukannya.

Harus ada beberapa templat (kelas, antarmuka) di suatu tempat di direktori VS, dari mana saya dapat menghapus garis yang menyinggung. Di mana saya menemukan file-file ini? Apakah ada cara yang lebih baik untuk mengontrol daftar impor default?

Jørn Schou-Rode
sumber

Jawaban:

369

Ekstrak, edit, dan kompres ulang. Path adalah untuk templat kelas, tetapi templat antarmuka berada di folder yang sama.

Anda mungkin ingin mengedit file template VS di masing-masing untuk menghapus fakta bahwa mereka tidak secara otomatis menambahkan referensi ke Sistem rakitan, System.Data dan / atau 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

Dimulai dengan Visual Studio 2012, templat tidak di-zip, sehingga Anda dapat mengedit setiap .cstemplat di setiap folder yang berlaku secara langsung.

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 mengubah lokasi direktori, dan sekarang tergantung pada edisi Anda (Profesional / Perusahaan / dll). Jadi untuk edisi Enterprise:

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

2019

Lokasi VS 2019 mirip dengan 2017. Jadi untuk edisi Enterprise:

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

Catatan

Edisi Ekspres

Dalam Edisi Express, Anda harus mencari di subdirektori WDExpressdi dalam IDEfolder, jadi mis. Untuk VS 2015 Express:

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

Bahasa lainnya

Jika Anda tidak menggunakan Visual Studio versi bahasa Inggris, folder 1033mungkin tidak ada, tetapi nomor yang berbeda mewakili bahasa Anda. Misalnya 1031di instalasi Jerman.

Sam Harwell
sumber
42
Itu tidak selalu mencerminkan perubahan ini di Visual Studio. Jika bukan karena Anda, edit file dalam ItemTemplatesCachedirektori (selain ItemTemplates). Misalnya (tahun 2005) C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs. Perhatikan bahwa Class.zipini adalah direktori, bukan file ZIP yang sebenarnya.
Joe
5
Sadarilah bahwa pembaruan paket layanan akan menghapus cache Anda, jadi pastikan Anda mencadangkannya sehingga Anda dapat memasangnya kembali.
sweetfa
3
@ Jo: Atau memaksa studio visual untuk memuat ulang templat dengan menjalankan devenv / setup. Mungkin perlu satu menit untuk menjalankan perintah itu.
Brian
4
@Brian devenv.exe / installvstemplates sudah cukup. Setidaknya untuk VS 2012. Apakah dapat dieksekusi saat VS sedang berjalan.
Lucas
6
Jika Anda menggunakan ASP.NET/MVC dan Visual Studio tidak akan mengambil pembaruan Anda untuk templat, cobalah mengedit C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\WebClass\Class.cs.Kemudian jalankan devenv.exe / installvstemplates.
J. Andrew Laughlin
9

Anda sedang mencari direktori berikut:

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

Setiap template adalah file ZIP di dalam 1033subfolder (Inggris) dari salah satu kategori di folder ini. Anda dapat mengedit .csfile di dalam file ZIP.

Jika Anda menggunakan sistem 32bit, hapus file (x86). VS2005 adalah Microsoft Visual Studio 8, dan VS2010 adalah Microsoft Visual Studio 10.0.


Perhatikan bahwa template ini bukan per pengguna. Anda dapat membuat templat per pengguna dengan menyalin file ZIP tersebut ke My Documents\Visual Studio 2008\Templates\ItemTemplates\Visual C#.

Slaks
sumber
1
Terima kasih atas opsi per pengguna di sini. Perhatikan, setidaknya dengan VS2015, tidak ada file / folder zip. Jalan saya dulu C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Classdan kemudian saya buat dan salin ke ...\Documents\Visual Studio 2015\Templates\ItemTemplates\Visual C#\Code\1033\Class. Saya menutup Visual Studio saat saya melakukan ini. Dan saya juga menjalankan devenv.exe /installvstemplatesperintah yang disebutkan dalam komentar lain. Ketika saya meluncurkan kembali VS, perubahan saya muncul saat membuat kelas baru. Luar biasa!
sliderhouserules
1

Untuk Visual Studio 2012, untuk menghapus ini dari file class.cs default, templat item bisa terlihat seperti ini (jangan sertakan / hapus menggunakan pernyataan):

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

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

Info lebih lanjut di sini: http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html

Aaron Hoffman
sumber
1

Templat kelas baru mungkin terletak di folder yang berbeda tergantung pada jenis proyek juga. Saat bekerja di Proyek Web di VS 2015, saya menemukan itu ketika mengedit file

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

Saya tidak dapat melihat perbedaan dalam templat default saat membuat kelas baru. Itu hanya setelah mengedit file

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

bahwa saya dapat membuat kelas baru dengan format default yang saya inginkan.

tjlindahl
sumber
1

Tambahan baru untuk info hebat dari Sam Harwell. Saya menggunakan Visual Studio 2019 Community, dan jalur ke templat kelas saya sama dengan yang telah disebutkan, kecuali untuk "Perusahaan", yang digantikan oleh "Komunitas". Begitu:

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

Perlu juga disebutkan bahwa folder "zip" Kelas bukan zip sama sekali pada instalasi saya. Ini hanyalah folder lain.

"Gotcha" lain adalah bahwa jika Anda menjalankan edisi Preview, ini ada di folder "Preview" sendiri:

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

Untuk template lain, folder yang harus dicari adalah:

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

Jadi, di komputer saya itu adalah:

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

[Sunting 10 Mei 2020]

Anda juga perlu memeriksa nilai "Lokasi templat item pengguna" di Alat | Opsi | Proyek dan Solusi / Lokasi


Saya harap ini membantu seseorang.

Dave Robinson
sumber
0

Pertanyaan lama - jawaban baru: Maaf untuk, mungkin, pertanyaan yang menyinggung: Mengapa Anda peduli sama sekali.

Alat Daya Produktivitas (ekstensi studio visual, saya tetap akan merekomendasikan untuk menggunakannya) -> aktifkan opsi / pengaturan yang disebut: "Hapus dan Urutkan Penggunaan di save"

Tidak ada klik tambahan / pintasan keyboard / modifikasi templat manual dll ... karena Anda harus menyimpan file Anda.

TiTime
sumber
0

Hanya ingin menambahkan jawaban yang sangat bagus dari Sam Harwell. Mungkin ada lebih dari satu templat kelas, misalnya AspNetCorememiliki templat sendiri di:

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

berjemur
sumber