Как закомментировать блок
то есть проставить символы комментариев перед каждой строкой выделенного фрагмента.
а теперь не модно ??
раньше в C не было "//"
*/
:D :D :D
Существует ли в среде VisualC++ такая команда как "закомментировать блок",
то есть проставить символы комментариев перед каждой строкой выделенного фрагментах
Для этого существуют макросы. В Visual C++ есть макрос для комментирования блока:
Идёшь Tools->Macro. В поле Macro file выбираешь Sample, имя макроса: CommentOut, затем жмёшь Run.
Можешь повесить этот макрос на клаву:
Жмёшь Options, появляются ещё кнопочки, жмёшь Keystrokes, дальше всё легко.
Существует ли в среде VisualC++ такая команда как "закомментировать блок",
то есть проставить символы комментариев перед каждой строкой выделенного фрагмента.
А вообщче есть такая полезная штука как Visual Assist. В шестом ассисте есть такая штука, как закомментировать блок. Я вообще его вешал на Ctrl+/ и все хорошо. Решай сам.
Существует ли в среде VisualC++ такая команда как "закомментировать блок",
то есть проставить символы комментариев перед каждой строкой выделенного фрагмента.
Если в основе вопроса лежит проблема с исключением части кода из процесса компиляции, и использование /* */ не подходит, т.к. в комментируемом блоке встречается */, например такую запись т.о. не закоментировать:
{
.............
}
то могу предложить такой вариант:
int func(int arg1, int /*arg2*/)
{
.............
}
#endif
Jeff, а где найти этот Visual Assist?
Для этого существуют макросы. В Visual C++ есть макрос для комментирования блока:
Идёшь Tools->Macro. В поле Macro file выбираешь Sample, имя макроса: CommentOut, затем жмёшь Run.
Можешь повесить этот макрос на клаву:
Жмёшь Options, появляются ещё кнопочки, жмёшь Keystrokes, дальше всё легко.
dimas3679, не подскажешь, где можно найти описание языка макросов для Visual C++.
Если в основе вопроса лежит проблема с исключением части кода из процесса компиляции, и использование /* */ не подходит, т.к. в комментируемом блоке встречается */, например такую запись т.о. не закоментировать:
code:--------------------------------------------------------------------------------
int func(int arg1, int /*arg2*/)
{
.............
}
--------------------------------------------------------------------------------
то могу предложить такой вариант:
code:--------------------------------------------------------------------------------
#if 0
int func(int arg1, int /*arg2*/)
{
.............
}
#endif
Green, я в С++ новичок и честно говоря не понял что сделает твой фрагмент кода?
Green, я в С++ новичок и честно говоря не понял что сделает твой фрагмент кода?
Директива предпроцессора #IF ... #ENDIF используется для условного включения кода внутри этой директивы в процесс компиляции. Т.е. другими словами: если условие в #IF выполняется (true), то код между #IF и #ENDIF будет скомпилирован, а если условие не выполняется (false), то код не будет скомпилирован, т.е. как-бы закомментирован.
Т.о. если написать #IF 0, что равносильно #IF false, то кусок кода выпадет из компиляции.
// Этот код компилятор обойдет
int func(int arg1, int /*arg2*/)
{
.............
}
#endif
Для того, что бы вновь вставить кусок кода в процесс копиляции, достаточно заменить #IF 0 на #IF 1, что равносильно #IF true
// Этот код будет компилироваться
int func(int arg1, int /*arg2*/)
{
.............
}
#endif
// Этот код компилятор обойдет
int func(int arg1, int /*arg2*/)
{
.............
}
#endif
такая простая проблема породила довольно таки интересное решение, все таки полезно почаще заходить на форумы.
:D
dimas3679, не подскажешь, где можно найти описание языка макросов для Visual C++.
Язык макросов - это Visual Basic Script (VBS).
Описание его должно быть в MSDN. Навеняка есть ещё какие-то источники, но я не увлекаюсь VBS и поэтому ничего путного подсказать не могу.