Jak odwrócić kod wokół znaku równości w programie Visual Studio?
Po napisaniu kodu wypełniającego pola tekstowe z obiektu, np.:
txtFirstName.Text = customer.FirstName;
txtLastName.Text = customer.LastName;
txtAddress.Text = customer.Address;
txtCity.Text = customer.City;
Czy jest sposób w Visual Studio (a nawet coś takiego jak Resharper), aby skopiować i wkleić ten kod do funkcji save i odwrócić kod wokół znaku równości, aby wyglądał następująco:
customer.FirstName = txtFirstName.Text;
customer.LastName = txtLastName.Text;
customer.Address = txtAddress.Text;
customer.City = txtCity.Text;
4 answers
Przed VS2012:
- skopiuj i wklej oryginalny blok kodu
- wybierz go ponownie w miejscu, w którym chcesz się przełączyć
- naciśnij Ctrl-H, aby uzyskać pole "Zastąp"
- Pod "Znajdź co" umieścić:
{[a-zA-Z\.]*} = {[a-zA-Z\.]*};
- w polu "Replace with" wpisz:
\2 = \1;
- Look in: "Selection"
- Use: "wyrażenia regularne"
- Hit Zamień Wszystkie
Z VS2012 (i prawdopodobnie później), który używa wyrażeń regularnych. Net:
- skopiuj i wklej oryginalny blok kodu
- wybierz go ponownie w miejscu, w którym chcesz się przełączyć
- naciśnij Ctrl-H, aby uzyskać pole "Zastąp"
- Pod "Znajdź co" umieścić:
([a-zA-Z\.]*) = ([a-zA-Z\.]*);
- w polu "Zamień na" Wpisz:
${2} = ${1};
- upewnij się, że ikona
.*
(wyrażenia regularne) jest zaznaczona (trzecia obok pola tekstowego) - Hit Zamień Wszystkie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-18 19:59:06
Nic mi o tym nie wiadomo. Oczywiście, jeśli użyjesz jednego z wielu dostępnych metod wiązania, nie będziesz musiał - Wiązanie wykona aktualizację w obu kierunkach (w tym zmianę za pomocą powiadomień).
Więc dla winforms:
txtFirstName.DataBindings.Add("Text", customer, "FirstName");
Etc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-09 23:41:40
Miałem taką samą potrzebę, ale musiałem zaakceptować więcej znaków niż a-zA-Z\.
w rozwiązaniu dostarczonym przez Johna, więc lekko zmodyfikowałem jego zwykły wyjątek w ten sposób:
Find what: {^[^\=]*} = {.*}
Zastąp na: \2 = \1
To odwróci cokolwiek pojawi się pierwszy znak równości znaleziony w linii
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-12 10:46:35
Opcją, aby je tam umieścić w pierwszej kolejności z Resharper byłoby zdefiniowanie żywego szablonu podobnego do:
$uiElement$ = $dto$;
$dto$ = $uiElement$;
To pozwoli Ci wpisać je raz i powieli to za Ciebie, a następnie możesz wyciąć i wkleić wersję zapisu do innej metody.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-09 23:46:18