Коли я клацну правою кнопкою миші на проекті рішення C # Visual Studio і виберіть Додати ...> Клас ..., він створює клас без публічного модифікатора. Як змусити Visual Studio (2008) замовчувати клас загальнодоступним класом?
Коли я клацну правою кнопкою миші на проекті рішення C # Visual Studio і виберіть Додати ...> Клас ..., він створює клас без публічного модифікатора. Як змусити Visual Studio (2008) замовчувати клас загальнодоступним класом?
Відповіді:
Вам потрібно змінити файл, розташований у C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033.
Visual Studio 2010 (10.0) і нижче: Там є zip-файл, який називається Class.zip. Розпакуйте це, відредагуйте файл, щоб ввести publicключове слово, а потім перепакуйте його (переконайтесь, що ви створили резервну копію оригіналу).
Після цього переконайтесь, що VS відновлює кеш-пам'ять (що є лише zipfiles, розпакованими до каталогів C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache), відкривши оболонку команди Visual Studio та виконайте таку команду:
devenv /installvstemplates
Visual Studio 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
Щоб створити публічний клас за замовчуванням для 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$
{
}
}
Ви можете або створити власний шаблон проекту, або змінити існуючий. Усі ці файли проекту керуються шаблонами, тому ви можете змінити їх та / або додати свої власні.
Перевірте ці посилання:
Марк
Ось 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
Але є й інша можливість створити нові шаблони. Скопіюйте файли з папки-джерела в папку шаблонів користувача.
наприклад, для програми 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 буде:
C:\Users\<username>\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\Windows\1033\MyWindowsApplication\
Завдяки цьому у вас буде два "додатки для форми Windows" при створенні нового проекту. Відмінність цих двох лише у назві файлу за замовчуванням. Для кращого розрізнення можна змінити відображуване ім'я шаблону. Щоб змінити назву шаблону, оновіть .vstemplateфайл.
Оригінал csWindowsApplication.vstemplateмістить рядок:
<Name Package="{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}" ID="2318" />
Щоб змінити ім'я, потрібно змінити рядок на щось подібне:
<Name ID="2318">My Windows Form Application</Name>
Негативна частина цього рішення полягає в тому, що вам потрібно перейменувати новий шаблон, і ви додасте новий шаблон до існуючих шаблонів (старий "неправильний" приклад залишиться, і ви все ще можете не бажаючи ним користуватися) .
Але є і хороша частина. Вам не потрібно бути адміністратором, щоб додати або оновити приклад. (Немає необхідності переписувати файли у Program Filesпапку.)