English | 中文 | Русский | Français
342 Тем для обсуждения
3,577 Открытых обсуждений
Когда на ISN речь заходит о производительности, обычно имеют в виду производительность процессора, памяти или видеокарты. Но этот пост будет о другой производительности — о производительности программиста. Я хочу рассказать о паре полезных "фич" Visual Studio, которые, как мне кажется, не слишком известны, но весьма полезны для программистов.
Первая полезная фича Visual Studio, появившаяся ни то в 2003, ни то в 2005 версии — это автоматическое форматирование исходного текста. Работает просто: выделяем кусок кода, нажимаем Ctrl+K и, не отпуская клавишу Ctrl, тут же Ctrl+F (можно также выбрать из меню Edit->Advanced->Format Selection, но это слишком долго). В результате выделенный кусок кода приводится к удобочитаемому виду. Особенно полезна эта фича для чтения созданного кодогенератором кода.
Другая полезная фича, — макросы. Про макросы слышали, пожалуй, все программисты, а вот реально их используют — лишь немногие. И это очень зря! Допустим, у нас есть кусок кода следующего содержания:
std::cout << "VariableA = " << variableA << std::endl; std::cout << "VariableB = " << variableB << std::endl; std::cout << "VariableC = " << variableC << std::endl; ...
И в какой-то момент времени нам захотелось выводить не только значение переменной, но и её тип. Сложный способ добиться этого — вручную изменить каждую строку и при этом постараться не сделать ошибок, которые не выловит компилятор. Простой способ заключается в использовании макросов. Сначала нужно установить курсор на начало первой строки. Как-то так:
Istd::cout << "VariableA = " << variableA << std::endl; ...
Теперь нужно нажать магическую комбинацию клавиш Ctrl+Shift+R (или выбрать в меню Tools->Macros->Record Temporary Macro). Теперь Visual Studio будет запоминать всё, что вы будете делать. Затем, с помощью обычного Copy & Paste нужно привести первую строчку к желаемому виду, например такому:
std::cout << "VariableA = " << variableA << ", typeof VariableA is " << typeid( VariableA ).name() <<I std::endl; ...
Обратите внимание, что имя переменной VariableA нужно не набирать с клавиатуры, а копировать из другого места этой строки. Для навигации внутри строки лучше пользоваться не обычными стрелками на клавиатуре, а комбинацией Ctrl+стрелка — в этом случае курсор будет перемещаться сразу на следующее слово. Когда первая строка преобразована к нужному виду, нужно переместить курсор на начало второй строки и снова нажать магическую комбинацию клавиш Ctrl+Shift+R, чтобы завершить запись макроса.
std::cout << "VariableA = " << variableA << ", typeof VariableA is " << typeid( VariableA ).name() << std::endl; Istd::cout << "VariableB = " << variableB << std::endl; std::cout << "VariableC = " << variableC << std::endl; ...
Теперь достаточно нажать Ctrl+Shift+P и — вуаля — Visual Studio повторит всё, что вы делали для первой строки со второй строкой, а затем переместит курсор на начало третьей строки. Таким образом, любой исходник, сколь бы большим он ни был, можно обработать за десяток секунд.
А как повышаете свою производительность вы?
| 07.07.2009 03:03
Marat Dukhan (Intel)
| После копания в настройках Visual Studio выяснилось, что Alt+F8 и Ctrl+K+F это одно и то же |
| 08.07.2009 08:17
ilnarb
| одно нажатие двух кнопок и два нажатие трех не одно и то же ;) |

ilnarb
2,930
Статусных баллов:
2,430
а еще классная фича это поиск выделенного вперед Ctrl+F3 и назад Ctrl+Shift+F3
а вообщемного такого классного можно почитать из блога Сары Форд, на русском http://blogs.msdn.com/rusaraford/