Saya baru saja menginstal Visual Studio 2017. Ketika saya membuka situs web yang sudah ada, saya mendapatkan semua jenis pesan peringatan seperti ini:
IDE1006 Pelanggaran aturan penamaan: Kata-kata ini harus dimulai dengan karakter huruf besar: swe_calc
Dalam kode itu didefinisikan sebagai:
[System.Runtime.InteropServices.DllImport("swedll32.dll")]
public static extern Int32 swe_calc(double tjd, int ipl, Int32 iflag, IntPtr xx, IntPtr serr);
Ini juga terjadi dengan kontrol ASP.Net saya. Sebagai contoh DropDownList:
IDE1006 Pelanggaran aturan penamaan: Kata-kata ini harus dimulai dengan karakter huruf besar: ddlMonth_SelectedIndexChanged
Bagaimana cara menghilangkan jenis peringatan ini di bawah Visual Studio?
c#
asp.net
visual-studio-2017
SteveFerg
sumber
sumber
#pragma warning disable IDE1006
. Ini memiliki keuntungan bahwa, karena ada dalam kode sumber, secara otomatis ke seluruh proyek (Anda tidak perlu menyinkronkan pengaturan MSVS per stasiun kerja).Jawaban:
Ini adalah fitur baru yang dapat dikonfigurasi, jika Anda pergi ke
Di sana saya pergi ke Kelola Gaya menambahkan Kasus unta (ada di sana tetapi Anda perlu menambahkannya ke pilihan Anda): pergi ke tanda "+", lalu tambahkan aturan Anda yang sesuai.
Penting : Tutup solusi Anda dan buka kembali agar perubahan diterapkan.
Misalnya, saya hanya menggunakan Kasus unta untuk metode pribadi. Jadi saya memilih Metode Pribadi dan meminta Gaya yang baru saya buat "Kasus unta" dan mengaturnya ke Saran Tingkat Permasalahan (Saya juga mempromosikannya ke atas).
Yang ada di dalamnya adalah semua "Saran" juga sehingga Anda juga dapat mematikan Pesan.
sumber
Jika Anda ingin menyembunyikannya hanya di beberapa file atau area, Anda dapat menggunakan yang berikut ini:
#pragma warning disable IDE1006 // the code with the warning #pragma warning restore IDE1006
sumber
Jika Anda perlu menyingkirkan pesan-pesan ini, Anda juga bisa menyembunyikannya.
sumber
Anda dapat mengganti nama metode dan menambahkan nama ke atribut dengan
EntryPoint
properti.[System.Runtime.InteropServices.DllImport("swedll32.dll", EntryPoint = "swe_calc")] public static extern Int32 SweCalc(double tjd, int ipl, Int32 iflag, IntPtr xx, IntPtr serr);
sumber
Jika Anda ingin menghilangkan atau membatalkan pesan peringatan dalam suatu metode, Anda dapat menggunakan SuppressMessage dari namespace System.Diagnostics.CodeAnalysis :
[SuppressMessage("Microsoft.Design", "IDE1006", Justification = "Rule violation aceppted due blah blah..")]
The Pembenaran properti adalah opsional, tapi itu layak menghabiskan beberapa saat menulis alasan, untuk membiarkan tahu tim Anda bahwa kode direvisi dan ok.
sumber
Jika Anda mengarahkan kursor ke pelanggaran aturan penamaan, Anda dapat menggunakan Alt + Enter untuk memunculkan gaya penamaan untuk bahasa itu. Anda juga dapat menggunakan Alat -> Opsi -> Editor Teks -> {bahasa} -> Gaya Kode -> Penamaan.
Untuk aturan camelCase pada Metode, Anda dapat menambahkan aturan baru dan menyetelnya ke Kasus Camel. Saat Anda menutup file kode dan membukanya lagi, Anda tidak akan melihat peringatan itu lagi. Tidak yakin mengapa ini bukan opsi default, tetapi tidak dalam kasus saya (menggunakan Kode Visual 15.8). Saya harus mengedit gaya agar sesuai dengan standar perusahaan kami.
Contoh C # Pengaturan Gaya Penamaan
sumber
Ini dapat dilakukan dengan menggunakan VS2017 & VS2019 normal menggunakan
.editorconfig
file pengaturan, menggunakan aturan penamaan: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-referenceFile dapat dibuat dengan tangan, atau di VS2019 Anda bisa mendapatkan Visual Studio untuk membuatnya untuk Anda dari preferensi Anda (yaitu setelah mengikuti konfigurasi prefs Anda seperti di https://stackoverflow.com/a/41131563/131701 ), dengan menekan buat file konfigurasi editor dari tombol pengaturan.
Misalnya, kumpulan aturan berikut akan mengaktifkan camelCase untuk semua metode non publik, dan mempertahankan aturan penamaan default lainnya yang disertakan dengan VS.
#### Naming styles #### # Naming rules dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion dotnet_naming_rule.types_should_be_pascal_case.symbols = types dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case dotnet_naming_rule.private_method_should_be_camelcasestyle.severity = suggestion dotnet_naming_rule.private_method_should_be_camelcasestyle.symbols = private_method dotnet_naming_rule.private_method_should_be_camelcasestyle.style = camelcasestyle dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case # Symbol specifications dotnet_naming_symbols.interface.applicable_kinds = interface dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal dotnet_naming_symbols.interface.required_modifiers = dotnet_naming_symbols.private_method.applicable_kinds = method dotnet_naming_symbols.private_method.applicable_accessibilities = private, protected, internal, protected_internal dotnet_naming_symbols.private_method.required_modifiers = dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal dotnet_naming_symbols.types.required_modifiers = dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal dotnet_naming_symbols.non_field_members.required_modifiers = # Naming styles dotnet_naming_style.pascal_case.required_prefix = dotnet_naming_style.pascal_case.required_suffix = dotnet_naming_style.pascal_case.word_separator = dotnet_naming_style.pascal_case.capitalization = pascal_case dotnet_naming_style.begins_with_i.required_prefix = I dotnet_naming_style.begins_with_i.required_suffix = dotnet_naming_style.begins_with_i.word_separator = dotnet_naming_style.begins_with_i.capitalization = pascal_case dotnet_naming_style.camelcasestyle.required_prefix = dotnet_naming_style.camelcasestyle.required_suffix = dotnet_naming_style.camelcasestyle.word_separator = dotnet_naming_style.camelcasestyle.capitalization = camel_case
sumber
nonaktifkan aturan. pesan kesalahan klik kanan dan pilih tingkat keparahan ke tidak ada
sumber
Apa yang ditegaskan aturan ini adalah bahwa bidang harus bersifat pribadi.
Anda bisa mengubahnya menjadi Properti dengan menambahkan {get; set;} setelah bidang.
Ini menghapus kesalahan untuk saya.
sumber