Перейти к содержимому

Geany формат блока комментариев

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

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

2 473 просмотра
user3817250 спросил 11 лет назад
U 113

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

хорошая информация Однако, если вы увидите мой РЕДАКТИРОВАТЬ, несмотря на то, как часто я указывал на файлы определения типов файлов ', часть блока комментариев ~ там не была определена, но была доступна через графический интерфейс Edit -> Preferences -> Editor -> Особенности -> маркер переключения комментариев`

user3817250 · 11 лет назад · 0

«Мне все равно было бы интересно, чтобы комментарии добавлялись в начало строки, а не на уровень отступа». - попробуйте использовать comment_use_indent = false, как описано в моем ответе.

DavidPostill · 11 лет назад · 0

Отлично. Я должен был занять немного больше времени, чтобы впитать эту информацию.

user3817250 · 11 лет назад · 0

Могу ли я определить несколько блочных комментариев - для / * * / и {* *}?

Michal Przybylowicz · 11 лет назад · 1

@ MichałPrzybyłowicz Не настолько, насколько я знаю, но тогда у большинства языков будет только один вид блочного комментария ...

DavidPostill · 11 лет назад · 1

Согласен. Но файлы tpl представляют собой смесь синтаксиса html и smarty, поэтому в основном они имеют два вида блочных комментариев.

Michal Przybylowicz · 11 лет назад · 0

так нет возможности комментировать блоки кода? / * * /

t q · 10 лет назад · 0

@tq Да, вы можете увидеть ответ. comment_open и comment_close

DavidPostill · 10 лет назад · 0

@DavidPostill Я нахожусь в Edit -&gt; Preferences -&gt; Editor -&gt; Features и не вижу comment_open или comment_close

t q · 10 лет назад · 0

@tq "специфичные для типа файла настройки хранятся в файлах определения типа файла."

DavidPostill · 10 лет назад · 1

@DavidPostill Я вижу в filetypes.php тамcomment_open = / * comment_close = * /, но когда я комментирую строки в php-файле, я все равно получаю одну строку//comments

t q · 10 лет назад · 0

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

DavidPostill · 10 лет назад · 0
t q · 10 лет назад · 0

@ tq Мне нечего добавить. Пожалуйста, задайте новый вопрос.

DavidPostill · 10 лет назад · 0
DavidPostill ответил 11 лет назад
D 102 116