Kiedy klikam prawym przyciskiem myszy rozwiązanie projektu C # Visual Studio i wybieram Dodaj ...> Klasa ... tworzy klasę bez publicznego modyfikatora. Jak uzyskać program Visual Studio (2008), aby domyślna klasa była klasą publiczną?
Kiedy klikam prawym przyciskiem myszy rozwiązanie projektu C # Visual Studio i wybieram Dodaj ...> Klasa ... tworzy klasę bez publicznego modyfikatora. Jak uzyskać program Visual Studio (2008), aby domyślna klasa była klasą publiczną?
Odpowiedzi:
Musisz zmodyfikować plik znajdujący się w C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033
.
Visual Studio 2010 (10.0) i starsze : znajduje się tam plik zip o nazwie Class.zip. Rozpakuj to, edytuj plik, aby wstawić public
słowo kluczowe, a następnie zapakuj go ponownie (upewnij się, że wykonałeś kopię zapasową oryginału).
Następnie upewnij się, że VS odbudowuje swoją pamięć podręczną (czyli tylko pliki zip rozpakowane do katalogów w C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache
), otwierając powłokę poleceń programu Visual Studio i wykonując następujące polecenie:
devenv /installvstemplates
Visual Studio 2012 (11.0) i nowsze : Zobacz odpowiedź autorstwa @JochemKempe , ponieważ teraz znacznie łatwiej jest to zmienić, po prostu edytując pojedynczy plik (bez rozpakowywania lub ponownego pakowania).
AKTUALIZACJA: Nie zapomnij otworzyć preferowanego edytora tekstu z uprawnieniami administratora przed wykonaniem jakiejkolwiek edycji.
W VS2012 jest to tak proste, jak przejście do C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
pliku Class.cs i jego edycja.
Nie ma potrzeby rozpakowywania ani odbudowywania pamięci podręcznej. Bardzo pozytywna zmiana, jeśli o mnie chodzi.
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 (profesjonalny) :C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class
VS2019 (Enterprise) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
VS2019 (profesjonalny) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
Przestarzały
VS2019 (wersja zapoznawcza) :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
Aby domyślnie utworzyć klasę publiczną dla programu Visual Studio 2012:
Edytuj ten plik:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
Aby wyglądać tak:
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$
{
}
}
Możesz utworzyć własny szablon projektu lub zmodyfikować istniejący. Wszystkie te pliki projektów są oparte na szablonach, więc możesz je zmieniać i / lub dodawać własne.
Sprawdź te linki:
Marc
Oto skryptlet PS ponownie wchodzący, który zaktualizuje szablon elementu klasy bazowej C # . Ścieżka zmienia się w zależności od używanej wersji / wydania programu Visual Studio. Tworzy również kopie zapasowe oryginalnego szablonu na wypadek, gdybyś chciał przywrócić go w przyszłości.
$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\...
i edytowałem ją ręcznie, ale pokazało to nową strukturę folderów na rok 2017. Dzięki.
Oprócz świetnej odpowiedzi JochemKempe, oto jak to zrobić dla szablonów .NET core.
Zamiast edytować szablony w \CSharp\
katalogu, musisz edytować te wewnątrz \AspNetCore\
.
VS2019 (Enterprise) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
VS2019 (profesjonalny) :C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class\Class.cs
Odpowiedź od JochemKempe działa dobrze, ale jest trochę trudna, ponieważ musisz przepisać chronione pliki w formacie Program Files
.
Tylko po to, aby zaktualizować odpowiedź. Szablony do edycji społecznościowej znajdują się w folderze:
c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates
Ale jest inna możliwość tworzenia nowych szablonów. Skopiuj pliki z folderu źródłowego do folderu szablonów użytkownika.
np. dla aplikacji Windows Form może to być jeden z następujących folderów źródłowych (dla społeczności Visual Studio 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\
Domyślny folder szablonów użytkownika to (dla społeczności programu Visual Studio 2017) :
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\
Folderem docelowym dla nowego szablonu aplikacji Windows Form będzie:
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\Windows\1033\MyWindowsApplication\
Dzięki temu podczas tworzenia nowego projektu będziesz mieć dwie „aplikacje formularzy systemu Windows”. Różnica między tymi dwoma polega tylko na domyślnej nazwie pliku. Dla lepszego rozróżnienia istnieje możliwość zmiany wyświetlanej nazwy szablonu. Aby zmienić nazwę szablonu, zaktualizuj .vstemplate
plik.
Oryginał csWindowsApplication.vstemplate
zawiera wiersz:
<Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2318" />
Aby zmienić nazwę, musisz zmienić linię na coś takiego:
<Name ID="2318">My Windows Form Application</Name>
Wadą tego rozwiązania jest to, że musisz zmienić nazwę nowego szablonu i dodać nowy szablon do istniejących szablonów (stary „niepoprawny” przykład pozostanie i nadal będziesz mógł niechętnie go używać) .
Ale jest też dobra część. Nie musisz być administratorem, aby dodać lub zaktualizować przykład. (Nie ma potrzeby przepisywania plików w Program Files
folderze).