Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Настройка редактора VC++ 2005 / 22 сообщений из 22, страница 1 из 1
04.04.2007, 13:08
    #34437132
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
Всем привет. Такой вопрос. Редактор настроен на работу с С/С++. Но вот никак мне не нравится, что когда в теле функции я пишу

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
void func()
{
 for (int i =  0 ; i <  10 ; i++) {
     int a = i;
#ifdef DEBUG
   printf("%i\n");
#endif
     int b = a;     
 }
}

вот этот #ifdef вылазит аж на первую позицию не зависимо от уровня вложенности. Как его можно полечить? Что б он не скакал, а оставался там где его поставили?
...
Рейтинг: 0 / 0
04.04.2007, 16:25
    #34438042
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
а вроде инструкции препроцессора должны с начала строки начинаться
...
Рейтинг: 0 / 0
04.04.2007, 17:24
    #34438290
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
Че-то не помню я такого. Да и компилятор не возражает если я руками отступы отобью....
...
Рейтинг: 0 / 0
04.04.2007, 17:42
    #34438377
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
дед МакарЧе-то не помню я такого. Да и компилятор не возражает если я руками отступы отобью....

диррективы пишуться с начала строки.
...
Рейтинг: 0 / 0
04.04.2007, 17:50
    #34438417
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
Aklinдиррективы пишуться с начала строки.
Это кто сказал?
...
Рейтинг: 0 / 0
04.04.2007, 18:44
    #34438613
Архимедик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
Да писать можно где хочешь, но правила хорошего тона с точки зрения VC говорят так чтобы писалось это с начала строки, вот он и сдвигает туда
...
Рейтинг: 0 / 0
05.04.2007, 01:55
    #34439039
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
АрхимедикДа писать можно где хочешь

Вот! это мне и надо! Только как его заставить так делать?
...
Рейтинг: 0 / 0
06.04.2007, 12:40
    #34443117
pirovindos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
1. У меня автоматически ничего не "вылезает". Можно ли пояснить, что происходит?
2. Насколько я помню, ANSI действительно требовал писать # в начале строки, но сеqчас это не соблюдается в VC++2005.
...
Рейтинг: 0 / 0
06.04.2007, 12:50
    #34443167
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
gcc вроде ругается, если написать не там.
...
Рейтинг: 0 / 0
09.04.2007, 01:10
    #34446137
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
pirovindos1. У меня автоматически ничего не "вылезает". Можно ли пояснить, что происходит?


Происходит вот что. При вводе символа "#" для написания "#ifdef" (да и для любой другой инструкции препроцессора) курсор с этим "#" вылазит на первую позицию в редакторе. Т.е. самый левый край. Хотя у меня даже скобки ограничивающие функцию и те со второй позиции идут. Не говоря уже о вложенности. Хотелось бы убрать это скакание.
...
Рейтинг: 0 / 0
09.04.2007, 09:33
    #34446388
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
maXmogcc вроде ругается, если написать не там.

Не-а. Ему абсолютно фиолетово.
...
Рейтинг: 0 / 0
09.04.2007, 09:56
    #34446456
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
дед Макар Aklinдиррективы пишуться с начала строки.
Это кто сказал?

скажите. а нахрена вам писать диррективу не с начала?
с начала ГОРАЗДО удобнее.
...
Рейтинг: 0 / 0
09.04.2007, 09:58
    #34446462
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
Aklin дед Макар Aklinдиррективы пишуться с начала строки.
Это кто сказал?

скажите. а нахрена вам писать диррективу не с начала?
с начала ГОРАЗДО удобнее.

Имхо, бывают любители на вложенные директивы отступать
...
Рейтинг: 0 / 0
09.04.2007, 09:59
    #34446467
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
AkhИмхо, бывают любители на вложенные директивы отступать

бывают конечно.
а еще бывают те, кто в одну строчку пишет.

или квадратиками выравнивает.

качество и понимание другими твоего кода от этого падает.
...
Рейтинг: 0 / 0
09.04.2007, 13:19
    #34447214
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
Aklin
качество и понимание другими твоего кода от этого падает.

Не факт. У меня в коде довольно много #ifdef, но использую я его только лишь для проверки текущего режима: релиз или отладака. И вывожу в них только сообщение на консоль, потому как приложение - будущая служба, и никакого интерактивного вывода не имеет. И без такой служебной информации трудно судить о ходе выполнения программы.
А по мне вот такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void func()
{
 for (int i =  0 ; i <  10 ; i++) {
     int a = i;
#ifdef DEBUG
   printf("%i\n");
#endif
     int b = a;     
 }
}

выглядит гораздо хуже чем

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void func()
{
 for (int i =  0 ; i <  10 ; i++) {
     int a = i;
     #ifdef DEBUG
          printf("%i\n");
     #endif
     int b = a;     
 }
}
...
Рейтинг: 0 / 0
09.04.2007, 14:00
    #34447349
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
дед Макар Aklin
качество и понимание другими твоего кода от этого падает.

Не факт. У меня в коде довольно много #ifdef, но использую я его только лишь для проверки текущего режима: релиз или отладака. И вывожу в них только сообщение на консоль, потому как приложение - будущая служба, и никакого интерактивного вывода не имеет. И без такой служебной информации трудно судить о ходе выполнения программы.
А по мне вот такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void func()
{
 for (int i =  0 ; i <  10 ; i++) {
     int a = i;
#ifdef DEBUG
   printf("%i\n");
#endif
     int b = a;     
 }
}

выглядит гораздо хуже чем

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void func()
{
 for (int i =  0 ; i <  10 ; i++) {
     int a = i;
     #ifdef DEBUG
          printf("%i\n");
     #endif
     int b = a;     
 }
}


второй вариант - бугага просто.
вы хоть понимаете, что написали?
вы создаете дополнительный уровень влдоженности, отя его явно нет.

вас точно не сразу поймут, когда будут смотреть ваш код.

п.с. я видел код по 100 строк, гдле через каждые 4-10 строк была дирректива, и это ПРЕКРАСНО распознаваемо, не то что у вас.
...
Рейтинг: 0 / 0
09.04.2007, 14:07
    #34447371
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
нет вложенности? можно сделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void func()
{
 for (int i =  0 ; i <  10 ; i++) {
     int a = i;
     #ifdef DEBUG
     printf("%i\n");
     #endif
     int b = a;     
 }
}

Это дело вкуса. Весь вопрос в том КАК это сделать?
...
Рейтинг: 0 / 0
09.04.2007, 14:12
    #34447382
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
дед Макарнет вложенности? можно сделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void func()
{
 for (int i =  0 ; i <  10 ; i++) {
     int a = i;
     #ifdef DEBUG
     printf("%i\n");
     #endif
     int b = a;     
 }
}

Это дело вкуса. Весь вопрос в том КАК это сделать?

а тут непонятно, что кусок кода не функционирует по причине дирректив
...
Рейтинг: 0 / 0
09.04.2007, 14:29
    #34447431
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
:))
...
Рейтинг: 0 / 0
09.04.2007, 22:04
    #34448604
IcyCool
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
дед МакарНе факт. У меня в коде довольно много #ifdef, но использую я его только лишь для проверки текущего режима: релиз или отладака. И вывожу в них только сообщение на консоль, потому как приложение - будущая служба, и никакого интерактивного вывода не имеет. И без такой служебной информации трудно судить о ходе выполнения программы.
а не удобней (и красивее) использовать для этого TRACE ?
...
Рейтинг: 0 / 0
11.04.2007, 12:40
    #34452447
pirovindos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
дед Макар pirovindos1. У меня автоматически ничего не "вылезает". Можно ли пояснить, что происходит?


Происходит вот что. При вводе символа "#" для написания "#ifdef" (да и для любой другой инструкции препроцессора) курсор с этим "#" вылазит на первую позицию в редакторе. Т.е. самый левый край. Хотя у меня даже скобки ограничивающие функцию и те со второй позиции идут. Не говоря уже о вложенности. Хотелось бы убрать это скакание.

Попробуй:
Tools->Options->Text Editor->C/C++ поставить Indenting не "Smart", а "Block"
...
Рейтинг: 0 / 0
13.04.2007, 19:42
    #34460480
дед Макар
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройка редактора VC++ 2005
То что нужно! Спасибо.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Настройка редактора VC++ 2005 / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]