जब मैं C # Visual Studio प्रोजेक्ट के समाधान में राइट क्लिक करता हूँ और Add ...> Class ... का चयन करता हूँ, तो वह बिना सार्वजनिक संशोधक के एक वर्ग बनाता है। क्लास को पब्लिक क्लास में डिफॉल्ट करने के लिए मुझे विज़ुअल स्टूडियो (2008) कैसे मिलेगा?
जब मैं C # Visual Studio प्रोजेक्ट के समाधान में राइट क्लिक करता हूँ और Add ...> Class ... का चयन करता हूँ, तो वह बिना सार्वजनिक संशोधक के एक वर्ग बनाता है। क्लास को पब्लिक क्लास में डिफॉल्ट करने के लिए मुझे विज़ुअल स्टूडियो (2008) कैसे मिलेगा?
जवाबों:
आपको इसमें स्थित फ़ाइल को संशोधित करना होगा C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033
।
विजुअल स्टूडियो 2010 (10.0) और नीचे: वहाँ एक ज़िप फ़ाइल है जिसे Class.zip कहा जाता है। इसे अनपैक करें, फ़ाइल को अपने public
कीवर्ड में डालने के लिए संपादित करें फिर इसे फिर से पैक करें (सुनिश्चित करें कि आप मूल बैकअप लें)।
इसके बाद, C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
विज़ुअल स्टूडियो कमांड शेल को खोलकर वीएस कैश (जो कि सिर्फ zipfiles निर्देशिकाओं में अनज़िप्ड है ) को फिर से बनाता है और निम्न कमांड निष्पादित करें:
devenv /installvstemplates
विजुअल स्टूडियो 2012 (11.0) और ऊपर: @JochemKempe द्वारा उत्तर देखें , क्योंकि अब इसे बदलना बहुत आसान है, केवल एक फ़ाइल को संपादित करके (कोई अनजिपिंग या रीज़िपिंग) नहीं।
अद्यतन: इससे पहले कि आप कोई भी संपादन करें व्यवस्थापक विशेषाधिकार के साथ अपने पसंदीदा पाठ संपादक को खोलने के लिए मत भूलना।
में VS2012 यह करने के लिए जा जितना आसान है C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
और संपादन Class.cs फ़ाइल।
कैश को अनज़िप या पुनर्निर्माण करने की आवश्यकता नहीं है। यदि आप मुझसे पूछें तो एक बहुत ही सकारात्मक बदलाव।
VS2015 :C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2017 (RC) :C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2017 (पेशेवर) :C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2019 (उद्यम) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
VS2019 (पेशेवर) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
रगड़ा हुआ
VS2019 (पूर्वावलोकन) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
विज़ुअल स्टूडियो 2012 के लिए डिफ़ॉल्ट रूप से एक सार्वजनिक वर्ग बनाने के लिए:
इस फ़ाइल को संपादित करें:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
ऐसा दिखने के लिए:
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
public class $safeitemrootname$
{
}
}
आप या तो अपना प्रोजेक्ट टेम्प्लेट बना सकते हैं, या मौजूदा को संशोधित कर सकते हैं। ये सभी प्रोजेक्ट फाइलें टेम्प्लेट-चालित हैं, इसलिए आप इन्हें बदल सकते हैं और / या अपना स्वयं का जोड़ सकते हैं।
ये लिंक देखें:
न घुलनेवाली तलछट
यहां एक पुन: प्रवेशित PS स्क्रिप्टलेट है जो C # बेस क्लास आइटम टेम्पलेट को अपडेट करेगा । आपके द्वारा उपयोग किए जाने वाले Visual Studio के संस्करण / संस्करण के आधार पर पथ बदलता है। यदि आप भविष्य में वापस करना चाहते हैं तो यह मूल टेम्पलेट का भी बैकअप लेता है।
$csharpClassTemplates = @("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\ItemTemplatesCache\CSharp\Code\1033\Class\Class.cs",
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs")
$csharpClassTemplates | % {
Write-Output("Updating template $_")
Copy-Item $_ -Destination "$_.backup"
(get-content $_).Replace('public ', '').Replace('class ', 'public class ') | Set-Content $_
}
..\2017\Professional\...
और मैंने इसे मैन्युअल रूप से संपादित किया लेकिन इसने 2017 के लिए नया फ़ोल्डर संरचना दिखाया। धन्यवाद।
JochemKempe महान जवाब के अलावा, यह कैसे करना है। यह .NET कोर टेम्प्लेट के लिए है।
\CSharp\
निर्देशिका के अंदर टेम्प्लेट संपादित करने के बजाय , आपको लोगों को अंदर संपादित करना होगा \AspNetCore\
।
VS2019 (उद्यम) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
VS2019 (पेशेवर) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
JochemKempe से उत्तर ठीक काम करता है, लेकिन थोड़ा कठिन है, क्योंकि आपको संरक्षित फ़ाइलों को फिर से लिखना होगा Program Files
।
केवल उत्तर को अपडेट करने के लिए। समुदाय संस्करण के लिए टेम्पलेट फ़ोल्डर में हैं:
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates
लेकिन नए टेम्पलेट बनाने की एक और संभावना है। स्रोत फ़ोल्डर से उपयोगकर्ता टेम्पलेट फ़ोल्डर में फ़ाइलों की प्रतिलिपि बनाएँ।
विंडोज फॉर्म एप्लिकेशन के लिए यह इन सोर्स फोल्डर में से एक हो सकता है (विजुअल स्टूडियो 2017 कम्युनिटी के लिए) :
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows\1033\WindowsApplication\
c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp\Windows Root\Windows\1033\WindowsApplication\
c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplatesCache\CSharp\Windows Root\Windows\1033\WindowsApplication\
डिफ़ॉल्ट उपयोगकर्ता टेम्प्लेट फ़ोल्डर है (विज़ुअल स्टूडियो 2017 समुदाय के लिए) :
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\
और नए विंडोज फॉर्म एप्लीकेशन टेम्पलेट के लिए गंतव्य फ़ोल्डर होगा:
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\Windows\1033\MyWindowsApplication\
इसके साथ नई परियोजना बनाते समय आपके पास दो "विंडोज फॉर्म एप्लीकेशन" होंगे। इन दोनों के बीच का अंतर केवल डिफ़ॉल्ट फ़ाइल नाम में है। एक बेहतर अंतर बनाने के लिए टेम्पलेट के प्रदर्शित नाम को बदलना संभव है। टेम्प्लेट का नाम बदलने के लिए, .vstemplate
फ़ाइल को अपडेट करें ।
मूल csWindowsApplication.vstemplate
में पंक्ति है:
<Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2318" />
नाम बदलने के लिए आपको लाइन को कुछ इस तरह बदलना होगा:
<Name ID="2318">My Windows Form Application</Name>
इस समाधान का नकारात्मक हिस्सा यह है, कि आपको अपने नए टेम्प्लेट का नाम बदलना है और आप मौजूदा टेम्प्लेट में एक नया टेम्प्लेट जोड़ते हैं (पुराना 'गलत' उदाहरण रहेगा और आप अभी भी अनिच्छा से इसका उपयोग कर सकते हैं) ।
लेकिन एक अच्छा हिस्सा भी है। आपको उदाहरण जोड़ने या अपडेट करने के लिए व्यवस्थापक होने की आवश्यकता नहीं है। ( Program Files
फ़ोल्डर में फ़ाइलों को फिर से लिखने की आवश्यकता नहीं है ।)