![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| amarenkov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Добрый день.
Прошу прощение за вопрос немного не в тему, но не нашел, куда еще его задать. Есть ли в VS2008 режим редактирования наподобии Synс Edit в BDS2006 и старше? Это выглядит так: вы выделяете кусок кода. Включаете этот режим. Теперь, когда вы редактируете имя какой-либо переменной, имя переменной меняется везде в выделенном фрагменте. Чем-то похоже на Рефакторинг, но не он Заранее спасибо. |
|||
|
||||
| Bishop |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 3.6.2005 Где: Минск, Беларусь Репутация: 6 Всего: 16 |
||||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Только работает это не всегда хорошо.
Качай Resharper - поможет в этом нелегком деле.... -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| amarenkov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Нет, это не то. Пусть будет такой код:
df нигде не объявлено. В BDS можно было это выделить и исправть все df на summ, например. А VS так как-то можно? |
|||
|
||||
| archeg |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
А как это df нигде не объявлено? оО Юзай тогда найти и заменить. Только тогда студия не отличаеться от простого и тупого блокнота -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
||||
|
|||||
| amarenkov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Это все понятно. Но найти и заменить не настолько удобно. BDS подсвечивала то, что она считала одинаковыми переменными в выделенном участке и позволяля менять их одновременно. |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Понимаешь, переменная - эта такая штука которая всегда имеет объявление. И тогда в руки рефакторинг - в два щелчка. Если ты хочешь массово менять код без определения - то логично предположить, что ты хочешь менять код в коментах (а что еще?) и тогда толку от подсветки никакой нет. (решарпер умеет менять имена переменных даже в комментах) -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| amarenkov |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
Даже и не догадывался об этом....
Чисто по синтаксису всегда можно выделить то, что является переменной. Даже без объявления. Нет, не комментарии мне нужны. Пример. Пусть у меня есть 20 строчек кода, где используется одна переменная. Потом вдруг я решил, что в первых 10 должна использовать одна, а во вторых 10 - другая. И как же мне тут рефакторинг поможет? Еще пример. Переношу кусок кода из другой программы, из документации и т.п. У меня все те же переменные определены, но под другими названиями. И что делать? Определять с новыми, потом рефакторить? |
||||
|
|||||
| archeg |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Ты как-то неправильно к рефакторингу подходишь. Что это вообще за стиль программирования такой? Почитай книгу Фаулера о рефакторинге. Первый пример - какой толк использовать две разные переменные, если они содержат одно и то же значение? Сейчас ты скажешь что хочешь иметь на объект две ссылки или что-то подобное. В общем пример надуман из потолка и не соответсвует действительности. Если тебе нужно просто поменять значение (например детализировать переменную) - у решарпера есть такая магическая комбинация как Ctrl+Alt+V. Второе - еще бредовей. Часто ты переносишь такие куски? ) Если и переносишь раз в год, то использовать Search & Replace думаю не проблема. Вот можешь подсчитать, сколько ты раз сталкивался с такими примерами в жизни? Вообще, использовать такие подходы не безопасно. Ты уверен что в другом файле не попадеться левой строки, с таким же содержанием как имя твоей переменной без объявления? Если попадеться - кирдык. Решарпер же по объявлении может указать видимость. Если тебе нужно в конкретном файле Ctrl+Shift+F, вводишь слово для замены, и нажимаешь Alt+A. Первый раз еще нужно указать Look in : Current Document, - вот те и синхЕдит Это сообщение отредактировал(а) archeg - 26.12.2008, 10:39 -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
||||||
|
|||||||
| amarenkov |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
К рефакторингу я вообще еще в этой теме подходить не начал.
Если уж совсем хочется реальный пример, пожалуйста:
А теперь нужно последние -дцать команд отрисовки делать карандашом fobj_penRed. Карандаши fobj_penBlack и fobj_penRed - члены-переменные класса. Бывает. Настолько часто, насколько пользуюсь help и прочими туториалами. Чего и тебе советую. Все обсолютно безопасно. Читай внимательнее, что я пишу. Вообще, archeg прекращай меня учить. Я спросил про конкретную функцию среды. |
||||||
|
|||||||
| Zakonnic |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 25.4.2006 Репутация: 2 Всего: 6 |
Такой функции у VS 2008 нет. Но:
1. При рефакторинге есть дерево с чекбоксами, позволяющее выбрать куски кода для переименования переменных. Правда, в данном случае рефакторинг действительно не нужен. 2. Выделяете кусок кода и нажимаете Ctrl+H (тупой квик-реплейс). Там будет уже выставлена опция заменять только в выделенном. Ваш случай ;) --------------------
...и никогда не пишите в комментариях правду |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 11 Всего: 92 |
Я так и не понял - чем обычный replace по селекшену не подоходит?!
|
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
amarenkov, ок, ок - как хочешь. Молчу
-------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| amarenkov |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 21.2.2008 Где: Воронеж Репутация: нет Всего: нет |
В принципе да, но не так удобно, как в BDS. Да и действий больше делать надо
Не так удобно. Сложно объяснить. Надо BDS поставить и попробовать ;). Действительно удобная вещь у Борланда. archeg |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |