Geany 注释块格式

use*_*250 2 linux comments c geany

我试图找出在 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]);
    }

}
Run Code Online (Sandbox Code Playgroud)

我想注释掉这个函数的内容,所以我选择它并点击 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]);
    //~ }
}
Run Code Online (Sandbox Code Playgroud)

我将代码保存在这种状态,然后回来取消注释行,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]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我真的很想让 Geany 使用与 eclipse (prepend //)相同的语法,因为我在两者之间来回切换,并且无法取消对另一个创建的块的注释。

但是,我很乐意删除尾随空格,以摆脱这些虚假//~ //~线条。

geany 代码块注释的另一个丑陋特性是,如果您现在正在注释掉的较大块中有一块已注释的代码,它将取消对内部块的注释。

我对配置文件路径(/usr/share/geany 和 ~/.config/geany)进行了搜索,但没有找到 //~


编辑:

在所有这些搜索之后,我偶然发现了下面的“评论切换标记”选项 Edit -> Preferences -> Editor -> Features

我仍然对将注释添加到行首而不是缩进级别的方法感兴趣。

Dav*_*ill 5

我试图找出在 Geany 中为 C 文件定义注释块样式的位置。

所有颜色定义和其他文件类型特定设置都存储在文件类型定义文件中。这些设置是用于语法突出显示的颜色、注释字符或单词分隔符等一般设置以及编译器和链接器设置。

...

Comment_single

  • 用于注释代码的字符或字符串。如果你只想使用多行注释,不要设置它,而是设置comment_open 和comment_close。

  • 单行注释优先于多行注释用于注释一行,例如使用注释/取消注释行命令。

    例子: comment_single=//

评论打开

  • 用于注释代码的字符或字符串。您还需要设置 comment_close 以真正使用多行注释。如果你想使用单行注释,最好设置comment_single。

  • 多行注释优先于单行注释用于注释块,例如模板注释。

    例子: comment_open=/*

评论关闭

  • 如果使用多行注释,则这是关闭注释的字符或字符串。

    例子: comment_close=*/

comment_use_indent

  • 如果注释字符或字符串应从一行的第 0 列开始,则将此设置为 false。如果设置为 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