2

Я пытаюсь выяснить, где определяется стиль блока комментариев в Geany для C-файлов.

Под этим я подразумеваю, когда я выбираю блок текста и нажимаю ctrl-e, каждая строка в блоке текста предшествует (на уровне отступа) //~

Проблема исходит от дополнительного пространства. В пустых строках я получаю //~ но при сохранении файлов также включается пробел после пробела, поэтому я получаю следующую последовательность.

void aprinter(uint8_t * buf) {
    uint16_t length = sizeof(*buf) / sizeof(buf[0]);

    printf("len: %d;\n", length);

    uint16_t i;
    for (i = 0; i < length; i++) {
        printf("buf[%d]: 0x%02x;\n", i, buf[i]);
    }

}

Я хочу закомментировать кишки этой функции, поэтому я выбираю ее и нажимаю Ctrl-E

void aprinter(uint8_t * buf) {
    //~ uint16_t length = sizeof(*buf) / sizeof(buf[0]);
//~ 
    //~ printf("len: %d;\n", length);
//~ 
    //~ uint16_t i;
    //~ for (i = 0; i < length; i++) {
        //~ printf("buf[%d]: 0x%02x;\n", i, buf[i]);
    //~ }
}

Я сохраняю код в этом состоянии и позже возвращаюсь, чтобы раскомментировать строки, Ctrl-E снова дает мне это

void aprinter(uint8_t * buf) {
    uint16_t length = sizeof(*buf) / sizeof(buf[0]);
//~ //~
    printf("len: %d;\n", length);
//~ //~
    uint16_t i;
    for (i = 0; i < length; i++) {
        printf("buf[%d]: 0x%02x;\n", i, buf[i]);
    }
}

Мне бы очень хотелось, чтобы Geany использовал тот же синтаксис, что и eclipse (prepend //), так как я переключаюсь между ними и не могу раскомментировать блоки в одном, который был создан другим.

Тем не менее, я был бы рад удалить пробел, чтобы избавиться от этих фальшивых линий //~ //~ .

Другая неприятная особенность комментариев блока geany code заключается в том, что если у вас есть блок комментария кода внутри большего блока, который вы сейчас комментируете, он раскомментирует внутренний блок.

Я grep'd пути файла конфигурации (/usr/share/geany и ~/.config/geany) и не нашел //~


РЕДАКТИРОВАТЬ:

после всего этого поиска я наткнулся на опцию «маркер переключения комментариев» в Edit -> Preferences -> Editor -> Features

Мне все равно было бы интересно, чтобы комментарии добавлялись в начало строки, а не на уровень отступа.

1 ответ1

4

Я пытаюсь выяснить, где определяется стиль блока комментариев в Geany для C-файлов.

Все определения цвета и другие специфичные для типа файла настройки хранятся в файлах определения типа файла. Эти настройки представляют собой цвета для подсветки синтаксиса, общие настройки, такие как символы комментариев или символы разделителя слов, а также настройки компилятора и компоновщика.

...

Comment_single

  • Символ или строка, которая используется для комментирования кода. Если вы хотите использовать только многострочные комментарии, не устанавливайте это, а используйте comment_open и comment_close.

  • Однострочные комментарии используются в приоритете над многострочными комментариями для комментирования строки, например, с помощью команды «Комментарий / Раскомментировать строку».

    Пример: comment_single=//

comment_open

  • Символ или строка, которая используется для комментирования кода. Вам также нужно установить comment_close, чтобы действительно использовать многострочные комментарии. Если вы хотите использовать однострочные комментарии, предпочтите установку comment_single.

  • Многострочные комментарии используются в приоритете над однострочными комментариями для комментирования блока, например, шаблонные комментарии.

    Пример: comment_open=/*

comment_close

  • Если используются многострочные комментарии, это символ или строка, чтобы закрыть комментарий.

    Пример: comment_close=*/

comment_use_indent

  • Установите значение false, если символ комментария или строка должны начинаться со столбца 0 строки. Если установлено значение true, он использует любой отступ строки.

    Примечание: отступ комментария

    comment_use_indent=true будет генерировать это, если строка закомментирована (например, с помощью Ctrl-D):

    #command_example();

  • comment_use_indent=false будет генерировать это, если строка закомментирована (например, с помощью Ctrl-D):

    # command_example();

  • Примечание. Этот параметр работает только для однострочных комментариев (например, «//», «#» или «;»).

    Пример: comment_use_indent=true

Файлы определения типа исходного файла


Мне все равно было бы интересно, чтобы комментарии добавлялись в начало строки, а не на уровень отступа.

Использовать comment_use_indent=false

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .