Formato blocco commenti Geany


2

Sto cercando di capire dove lo stile del blocco dei commenti è definito in Geany per i file C.

Con questo intendo quando seleziono un blocco di testo e premo ctrl-e, ogni riga nel blocco di testo è in attesa (al suo livello di rientro) di un //~

Un problema deriva dallo spazio extra. Sulle righe vuote ottengo, //~ma ho anche abilitato lo spazio vuoto di ritaglio dopo il salvataggio dei file, quindi ottengo la seguente sequenza.

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]);
    }

}

Voglio commentare le viscere di questa funzione, quindi la seleziono e premo 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]);
    //~ }
}

Salvo il codice in questo stato e in seguito torno a rimuovere il commento dalle righe, di nuovo ctrl-e mi dà questo

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]);
    }
}

Mi piacerebbe davvero che Geany usasse la stessa sintassi di eclipse (antepone //), dato che mi capovolgo avanti e indietro tra i due e non ho modo di decommentare i blocchi in uno creato dall'altro.

Sarei felice di rimuovere lo spazio finale, tuttavia, per sbarazzarmi di queste //~ //~linee fasulle .

Un'altra brutta caratteristica dei commenti del blocco di codice geany è che se hai un blocco di codice commentato all'interno di un blocco più grande che stai commentando, verrà decommentato il blocco interno.

Ho greppato i percorsi dei file di configurazione (/ usr / share / geany e ~ / .config / geany) e non ho trovato //~


MODIFICARE:

dopo tutta quella ricerca mi sono appena imbattuto nell'opzione "comment toggle marker" sotto Edit -> Preferences -> Editor -> Features

Sarei comunque interessato in un modo per aggiungere i commenti all'inizio della riga piuttosto che a livello di rientro.

Risposte:


4

Sto cercando di capire dove lo stile del blocco dei commenti è definito in Geany per i file C.

Tutte le definizioni di colore e altre impostazioni specifiche del tipo di file sono memorizzate nei file di definizione del tipo di file. Tali impostazioni sono colori per l'evidenziazione della sintassi, impostazioni generali come caratteri di commento o delimitatori di parole nonché impostazioni del compilatore e del linker.

...

Comment_single

  • Un carattere o una stringa utilizzata per commentare il codice. Se si desidera utilizzare solo commenti su più righe, non impostare questo, ma piuttosto comment_open e comment_close.

  • I commenti a riga singola vengono utilizzati in modo prioritario rispetto ai commenti su più righe per commentare una riga, ad esempio con il comando Riga commento / Uncomment.

    Esempio: comment_single=//

comment_open

  • Un carattere o una stringa utilizzata per commentare il codice. Devi anche impostare comment_close per usare davvero i commenti multilinea. Se desideri utilizzare i commenti a riga singola, preferisci impostare comment_single.

  • I commenti multilinea vengono utilizzati in modo prioritario rispetto ai commenti a riga singola per commentare un blocco, ad esempio i commenti di modello.

    Esempio: comment_open=/*

comment_close

  • Se vengono utilizzati commenti multilinea, questo è il carattere o la stringa per chiudere il commento.

    Esempio: comment_close=*/

comment_use_indent

  • Impostalo su false se un carattere o una stringa di commento deve iniziare dalla colonna 0 di una riga. Se impostato su true, utilizza qualsiasi rientro della riga.

    Nota: rientro dei commenti

    comment_use_indent=true genererebbe questo se una riga fosse commentata (ad es. con Ctrl-D):

    #command_example();

  • comment_use_indent=false genererebbe questo se una riga fosse commentata (ad es. con Ctrl-D):

    # command_example();

  • Nota: questa impostazione funziona solo per i commenti a riga singola (come '//', '#' o ';').

    Esempio: comment_use_indent=true

File di definizione del tipo di file sorgente


Sarei comunque interessato in un modo per aggiungere i commenti all'inizio della riga piuttosto che a livello di rientro.

Uso comment_use_indent=false


buona informazione Tuttavia, se si vedrà la mia modifica, nonostante quante volte ho indicai la Filetype definition filesla ~ parte del blocco commento non è stato definito lì, ma era accessibile tramite la guiEdit -> Preferences -> Editor -> Features -> comment toggle marker
user3817250

"Sarei comunque interessato a un modo per aggiungere i commenti all'inizio della riga piuttosto che a livello di rientro". - prova a utilizzare comment_use_indent=falsecome descritto nella mia risposta.
DavidPostill

1
Posso definire più commenti di blocco - per /* */e {* *}?
Michal Przybylowicz,

1
@ MichałPrzybyłowicz Non per quanto ne so, ma la maggior parte delle lingue avrebbe un solo tipo di commento in blocco ...
DavidPostill

1
@tq "Le impostazioni specifiche del tipo di file sono memorizzate nei file di definizione del tipo di file."
DavidPostill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.