ฉันจะแก้ไขแม่แบบ Visual Studio สำหรับ C # คลาส / อินเทอร์เฟซใหม่ได้อย่างไร


209

ฉันพบว่าตนเองลบข้อความสั่งการนำเข้าต่อไปนี้ในไฟล์ C # เกือบทุกไฟล์ที่ฉันสร้างใน Visual Studio:

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 / ฯลฯ ) ดังนั้นสำหรับรุ่น Enterprise:

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 Editions

ในรุ่นด่วนคุณจะต้องค้นหาในไดเรกทอรีย่อย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ในการติดตั้งเยอรมัน


42
มันไม่ได้สะท้อนการเปลี่ยนแปลงเหล่านี้ใน Visual Studio เสมอไป หากไม่เหมาะสำหรับคุณให้แก้ไขไฟล์ในItemTemplatesCacheไดเรกทอรี (เพิ่มเติมจากItemTemplates) เช่น (ในปี C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class.zip\Class.cs2005) โปรดทราบว่าClass.zipนี่คือไดเรกทอรีไม่ใช่ไฟล์ ZIP จริง
Joe

5
โปรดทราบว่าการอัพเดตเซอร์วิสแพ็คจะล้างแคชของคุณดังนั้นโปรดสำรองข้อมูลไว้เพื่อที่จะได้นำกลับมาใช้ใหม่
sweetfa

3
@Joe: หรือบังคับให้สตูดิโอภาพโหลดเทมเพลตใหม่โดยเรียกใช้ devenv / การตั้งค่า อาจใช้เวลาสักครู่ก่อนที่คำสั่งนั้นจะทำงาน
Brian

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. Andrew Laughlin

9

คุณกำลังมองหาไดเรกทอรีดังต่อไปนี้:

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

แต่ละเทมเพลตเป็นไฟล์ ZIP ที่อยู่ใน1033โฟลเดอร์ย่อย (อังกฤษ) ของหนึ่งในหมวดหมู่ในโฟลเดอร์นี้ คุณสามารถแก้ไข.csไฟล์ในไฟล์ ZIP

หากคุณอยู่ในระบบ 32bit (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 เริ่มต้นเทมเพลตรายการอาจมีลักษณะเช่นนี้ (ไม่รวม / ลบโดยใช้คำสั่ง):

แฟ้มแม่แบบคลาสเริ่มต้น: 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 ฉันพบว่าเมื่อแก้ไขไฟล์

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

ใหม่นอกเหนือจากข้อมูลที่ยอดเยี่ยมจาก Sam Harwell ฉันใช้ชุมชน Visual Studio 2019 และเส้นทางไปยังแม่แบบชั้นเรียนของฉันเหมือนกับที่กล่าวไว้แล้วยกเว้น "องค์กร" ซึ่งถูกแทนที่ด้วย "ชุมชน" ดังนั้น:

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

นอกจากนี้ยังควรกล่าวถึงด้วยว่าโฟลเดอร์ "zip" ของ Class นั้นไม่ใช่ zip เลยในการติดตั้งของฉัน มันเป็นเพียงโฟลเดอร์อื่น

"gotcha" อีกอันก็คือหากคุณใช้งาน Preview edition อยู่ในโฟลเดอร์ "Preview" ของตัวเอง:

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

[แก้ไข 10 พฤษภาคม 2020]

คุณต้องตรวจสอบค่าของ "ตำแหน่งเทมเพลตรายการผู้ใช้" ในเครื่องมือ | ตัวเลือก | โครงการและโซลูชั่น / สถานที่ตั้ง


ฉันหวังว่านี่จะช่วยให้ใครบางคน


0

คำถามเก่า - คำตอบใหม่: ขออภัยสำหรับคำถามที่อาจทำให้ขุ่นเคือง: ทำไมคุณสนใจมันเลย

เครื่องมือไฟฟ้าเพิ่มประสิทธิภาพ (ส่วนขยายสตูดิโอภาพผมขอแนะนำให้ใช้ต่อไป) -> เปิดใช้งานตัวเลือก / การตั้งค่าที่เรียกว่า: "ลบและจัดเรียงการใช้งานเมื่อบันทึก"

ไม่มีการคลิกเพิ่มเติม / แป้นพิมพ์ลัด / การแก้ไขแม่แบบด้วยตนเอง ฯลฯ ... เนื่องจากคุณต้องบันทึกไฟล์ของคุณต่อไป


0

เพียงแค่ต้องการเพิ่มคำตอบที่ยอดเยี่ยมจาก Sam Harwell อาจมีเทมเพลตมากกว่าหนึ่งคลาสตัวอย่างเช่น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.