Как по умолчанию новый класс общедоступен при создании его в Visual Studio? - PullRequest
82 голосов
/ 31 марта 2009

Когда я щелкаю правой кнопкой мыши в решении C # Visual Studio и выбираю Добавить ...> Класс ..., он создает класс без публичного модификатора. Как получить Visual Studio (2008) по умолчанию для класса общедоступный класс?

Ответы [ 6 ]

106 голосов
/ 12 ноября 2012

В 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\Preview\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs

58 голосов
/ 31 марта 2009

Вам необходимо изменить файл, расположенный в C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033.

Visual Studio 2010 (10.0) и ниже: Там есть zip-файл с именем Class.zip. Распакуйте его, отредактируйте файл, указав ключевое слово public, затем перепакуйте его (убедитесь, что вы сделали резервную копию оригинала).

После этого убедитесь, что VS перестраивает свой кеш (который представляет собой zip-файлы, распакованные в каталоги в C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache), открыв командную оболочку Visual Studio и выполнив следующую команду:

devenv /installvstemplates

Visual Studio 2012 (11.0) и выше: См. ответ от @ JochemKempe , так как теперь это намного проще изменить, просто отредактировав один файл (без разархивирования или повторного архивирования).

ОБНОВЛЕНИЕ: Не забудьте открыть предпочитаемый текстовый редактор с правами администратора, прежде чем вносить какие-либо изменения.

8 голосов
/ 28 мая 2013

Чтобы создать класс Public по умолчанию для Visual Studio 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$
    {
    }
}

Дополнительная информация: http://aaron -hoffman.blogspot.com / 2013/05 / edit-default-visual-studio-2012-item.html

1 голос
/ 24 мая 2017

Вот повторяющийся скриптлет 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 $_
 }
1 голос
/ 31 марта 2009

Вы можете создать собственный шаблон проекта или изменить существующий. Все эти файлы проекта управляются шаблонами, поэтому вы можете изменить их и / или добавить свои собственные.

Проверьте эти ссылки:

Марк

0 голосов
/ 12 января 2019

Ответ от JochemKempe работает нормально, но немного сложно, так как вам нужно перезаписать защищенные файлы в Program Files.

Только для обновления ответа. Шаблоны для издания Community находятся в папке:

c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ProjectTemplates

Другое решение

Но есть и другая возможность создавать новые шаблоны. Скопируйте файлы из исходной папки в папку шаблона пользователя.

например. для приложения Windows Form это может быть одна из этих исходных папок (для сообщества 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\

Папка шаблона пользователя по умолчанию: (для сообщества Visual Studio 2017) :

C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\

И папка назначения для нового шаблона приложения Windows Form будет:

C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\Windows\1033\MyWindowsApplication\

При этом у вас будет два «Windows Form Application» при создании нового проекта. Различие между этими двумя заключается только в имени файла по умолчанию. Чтобы лучше различать, можно изменить отображаемое имя шаблона. Чтобы изменить имя шаблона, обновите файл .vstemplate.

Оригинал csWindowsApplication.vstemplate содержит строку:

    <Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2318" />

Чтобы изменить имя, вам нужно изменить строку на что-то вроде этого:

    <Name ID="2318">My Windows Form Application</Name>

Отрицательной частью этого решения является то, что вам нужно переименовать новый шаблон и добавить новый шаблон к существующим шаблонам (старый «неправильный» пример останется, и вы все равно можете его неохотно использовать) .

Но есть и хорошая часть. Вам не нужно быть администратором, чтобы добавить или обновить пример. (Нет необходимости переписывать файлы в папке Program Files.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...