Как изменить код на знак равенства в Visual Studio?
После написания кода для заполнения текстовых полей от объекта, например:
txtFirstName.Text = customer.FirstName;
txtLastName.Text = customer.LastName;
txtAddress.Text = customer.Address;
txtCity.Text = customer.City;
есть ли способ в Visual Studio (или даже что-то вроде Resharper), чтобы скопировать и вставить этот код в функцию сохранения и перевернуть код вокруг знака равенства, чтобы он выглядел следующим образом:
customer.FirstName = txtFirstName.Text;
customer.LastName = txtLastName.Text;
customer.Address = txtAddress.Text;
customer.City = txtCity.Text;
Ответы
Ответ 1
До VS2012:
- Скопируйте и вставьте исходный блок кода
- Выберите его снова в том месте, куда вы хотите переключиться.
- Нажмите Ctrl-H, чтобы открыть окно "Заменить".
- В разделе "Найти что":
{[a-zA-Z\.]*} = {[a-zA-Z\.]*};
- В разделе "Заменить с помощью" put:
\2 = \1;
- Посмотрите: "Выбор"
- Использование: "Регулярные выражения"
- Hit Replace All
С VS2012 (и предположительно позже), который использует регулярные выражения .NET:
- Скопируйте и вставьте исходный блок кода
- Выберите его снова в том месте, куда вы хотите переключиться.
- Нажмите Ctrl-H, чтобы открыть окно "Заменить".
- В разделе "Найти что":
([a-zA-Z\.]*) = ([a-zA-Z\.]*);
- В разделе "Заменить с помощью" put:
${2} = ${1};
- Убедитесь, что выбран значок
.*
(регулярные выражения) (третий - под заменяющим текстовым полем)
- Hit Replace All
Ответ 2
Нет, о которых я знаю. Конечно, если вы используете один из многих доступных подходов, то вам не придется - привязка будет выполнять обновление в обоих направлениях (включая изменение через уведомления).
Итак, для winforms:
txtFirstName.DataBindings.Add("Text", customer, "FirstName");
и т.д.
Ответ 3
У меня была такая же потребность, но я должен был принять больше символов, чем a-zA-Z\.
в решении, предоставленном Джоном, поэтому я слегка изменил его регулярное исключение, подобное этому:
Найти что: {^[^\=]*} = {.*}
Заменить на: \2 = \1
Откроется все arround знак первого уровня, найденный в строке
Ответ 4
Возможность получить их там таким образом, в первую очередь с помощью Resharper, будет определять живой шаблон, похожий на:
$uiElement$ = $dto$;
$dto$ = $uiElement$;
Это позволит вам вводить их один раз, и он будет дублировать его для вас, а затем вы можете вырезать и вставить версию сохранения в другой метод.