Мы реализовали новые стандарты кодирования, которые призывают, чтобы у наших членов парламента, не занимающих официального поста был начальный символ подчеркивания. Как так:
private System.Windows.Forms.Label _label;
К сожалению, VS произведет значение по умолчанию ниже при перетаскивании новой маркировки на форму:
private System.Windows.Forms.Label label1;
Есть ли способ изменить значение по умолчанию на:
private System.Windows.Forms.Label _label1;
Это принадлежит всем средствам управления, не только маркирует, и да они должны использоваться из кода.
Удачи,
Plamen
Помимо создания собственной надстройки VS, которая отслеживает сгенерированный код и автоматически переименовывает его, нет никакого способа выполнить то, что вы хотите.
Этот ответ может быть неудовлетворительным, но это лучшее, что я могу предложить.
Я не думаю, что вы можете заставить Visual Studio Designer автоматически добавлять подчеркивание. Однако, что вы можете сделать, так это сделать процесс добавления подчеркивания менее болезненным. Просто создайте сначала объекты без подчеркивания; затем используйте функцию Refactor для их переименования. Просто поместите курсор на имя поля (label1
, в вашем случае) и нажмите F2 (или щелкните правой кнопкой мыши ⇒ Refactor ⇒ Rename). Это работает независимо от того, где в коде вы находитесь, все, что вам нужно - это упоминание label1
. Поскольку вы, вероятно, будете писать код, использующий ваши элементы управления, вы, вероятно, будете ссылаться на поля в любом случае. Вы также можете нажать F12, чтобы перейти прямо к декларациям, где вы получите полный список всех ваших элементов управления; вы можете легко использовать F2, чтобы переименовать множество из них одним махом.
Кстати, я также использую F2 для переименования большинства автоматически генерируемых имен обработчиков событий. Например, мне неприятно видеть названия методов типа btnZoomIn_Click()
. Я предпочитаю называть метод zoomIn()
, потому что именно это он и делает. Вместо Mainform_KeyPress()
я мог бы назвать его processKeyPress()
.
Лично я считаю, что автоматически сгенерированный код следует исключить из любых руководств по кодированию и так далее. Их можно безопасно игнорировать в большинстве сценариев, если только генератор не содержит ошибки.
Пожалуйста, обсудите с тем, кто написал это руководство по кодированию, и попросите его исключить сгенерированный код.
Resharper может обеспечить соблюдение соглашений об именах . Затем просто откройте файл .designer и несколько раз нажмите alt + enter и введите Enter.
Вы можете установить GenerateMember на false.
Это не решит вашу проблему, но позволит избежать неправильного именования, когда вам придется работать с контролом вручную.
Как сказал BlueRaja, вы можете использовать Resharper. Затем вы можете использовать его очистку кода (Ctrl-E, C), однако это не работает с сгенерированными файлами, поэтому вам придется временно переименовать его. Я не на работе, поэтому не могу проверить, есть ли где-нибудь возможность включить эту опцию для сгенерированных файлов.
Обратите внимание, что вам придется запускать это повторно каждый раз при регенерации файла.