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

2332
user3817250

Я пытаюсь выяснить, где определяется стиль блока комментариев в 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

1 ответ на вопрос

4
DavidPostill

Я пытаюсь выяснить, где определяется стиль блока комментариев в 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 9 лет назад 0
«Мне все равно было бы интересно, чтобы комментарии добавлялись в начало строки, а не на уровень отступа». - попробуйте использовать `comment_use_indent = false`, как описано в моем ответе. DavidPostill 9 лет назад 0
Отлично. Я должен был занять немного больше времени, чтобы впитать эту информацию. user3817250 9 лет назад 0
Могу ли я определить несколько блочных комментариев - для `/ *` `* /` и `{*` `*}`? Michal Przybylowicz 8 лет назад 1
@ MichałPrzybyłowicz Не настолько, насколько я знаю, но тогда у большинства языков будет только один вид блочного комментария ... DavidPostill 8 лет назад 1
Согласен. Но файлы tpl представляют собой смесь синтаксиса html и smarty, поэтому в основном они имеют два вида блочных комментариев. Michal Przybylowicz 8 лет назад 0
так нет возможности комментировать блоки кода? `/ * * /` t q 8 лет назад 0
@tq Да, вы можете увидеть ответ. `comment_open` и` comment_close` DavidPostill 8 лет назад 0
@DavidPostill Я нахожусь в `Edit -> Preferences -> Editor -> Features` и не вижу` comment_open` или `comment_close` t q 8 лет назад 0
@tq "специфичные для типа файла настройки хранятся в файлах определения типа файла." DavidPostill 8 лет назад 1
@DavidPostill Я вижу в `filetypes.php` там` comment_open = / * comment_close = * / `, но когда я комментирую строки в php-файле, я все равно получаю одну строку` // `comments t q 8 лет назад 0
@tq Однострочные комментарии используются в приоритете над многострочными комментариями для комментирования строки, например, с помощью команды «Комментарий / Раскомментировать строку». DavidPostill 8 лет назад 0
Давайте [продолжим это обсуждение в чате] (http://chat.stackexchange.com/rooms/31075/discussion-between-tq-and-davidpostill). t q 8 лет назад 0
@ tq Мне нечего добавить. Пожалуйста, задайте новый вопрос. DavidPostill 8 лет назад 0

Похожие вопросы