Kommentarblockformat für Geany

2497
user3817250

Ich versuche herauszufinden, wo der Kommentarblockstil in Geany für C-Dateien definiert ist.

Damit meine ich, wenn ich einen Textblock anwähle und Strg-e drücke, wird jede Zeile im Textblock (auf der Einrückungsebene) von a vorangestellt //~

Ein Problem ergibt sich aus dem zusätzlichen Platz. Ich bekomme auf leere Zeilen, //~aber ich habe auch das Trimmen-Nachlauf-Leerzeichen aktiviert, wenn ich die Dateien speichere. Daher bekomme ich die folgende Reihenfolge.

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

Ich möchte den Kern dieser Funktion auskommentieren, also wähle ich sie aus und drücke 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]); //~ } } 

Ich speichere den Code in diesem Zustand und komme später zurück, um die Zeilen zu kommentieren. Strg-e gibt mir das wieder

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

Ich möchte wirklich, dass Geany dieselbe Syntax wie Eclipse (prepend //) verwendet, da ich zwischen den beiden hin- und herschalte und keine Möglichkeit habe, Blöcke in einem der beiden, die von den anderen erstellt wurden, zu entkommentieren.

Ich würde mich jedoch freuen, wenn Sie nur das nachgestellte Leerzeichen entfernen, um diese falschen //~ //~Linien zu beseitigen .

Ein weiteres unschönes Merkmal der Kommentare des geany-Codeblocks ist, dass, wenn Sie einen Block mit kommentiertem Code in einem größeren Block haben, den Sie jetzt auskommentieren, der interne Block entkommentiert wird.

Ich habe die Konfigurationsdateipfade (/ usr / share / geany und ~ / .config / geany) grep'd und nicht gefunden //~


BEARBEITEN:

Nach all dieser Suche stolperte ich einfach unter "Kommentar-Marker" Edit -> Preferences -> Editor -> Features

Ich wäre immer noch daran interessiert, die Kommentare am Anfang der Zeile und nicht auf der Ebene der Einrückung anzufügen.

2

1 Antwort auf die Frage

4
DavidPostill

Ich versuche herauszufinden, wo der Kommentarblockstil in Geany für C-Dateien definiert ist.

Alle Farbdefinitionen und andere dateitypspezifische Einstellungen werden in den Dateitypdefinitionsdateien gespeichert. Bei diesen Einstellungen handelt es sich um Farben für die Syntaxhervorhebung, allgemeine Einstellungen wie Kommentarzeichen oder Worttrennzeichen sowie Compiler- und Linker-Einstellungen.

...

Comment_single

  • Ein Zeichen oder eine Zeichenfolge, die zum Kommentieren von Code verwendet wird. Wenn Sie nur mehrzeilige Kommentare verwenden möchten, setzen Sie dies nicht, sondern comment_open und comment_close.

  • Einzeilige Kommentare werden vorrangig vor mehrzeiligen Kommentaren verwendet, um eine Zeile zu kommentieren, z. B. mit dem Zeilenbefehl Kommentar / Kommentar.

    Beispiel: comment_single=//

comment_open

  • Ein Zeichen oder eine Zeichenfolge, die zum Kommentieren von Code verwendet wird. Sie müssen außerdem comment_close festlegen, um mehrzeilige Kommentare zu verwenden. Wenn Sie einzeilige Kommentare verwenden möchten, sollten Sie comment_single festlegen.

  • Mehrzeilige Kommentare werden vorrangig gegenüber einzeiligen Kommentaren verwendet, um einen Block zu kommentieren, z. B. Vorlagenkommentare.

    Beispiel: comment_open=/*

comment_close

  • Wenn mehrzeilige Kommentare verwendet werden, ist dies das Zeichen oder die Zeichenfolge zum Schließen des Kommentars.

    Beispiel: comment_close=*/

comment_use_indent

  • Setzen Sie diesen Wert auf "false", wenn ein Kommentarzeichen oder -string bei Spalte 0 einer Zeile beginnen soll. Wenn der Wert auf true gesetzt ist, wird der Einzug der Zeile verwendet.

    Hinweis: Kommentareinzug

    comment_use_indent=true würde dies generieren, wenn eine Zeile kommentiert wird (zB mit Strg-D):

    #command_example();

  • comment_use_indent=false würde dies generieren, wenn eine Zeile kommentiert wird (zB mit Strg-D):

    # command_example();

  • Hinweis: Diese Einstellung funktioniert nur für einzeilige Kommentare (wie '//', '#' oder ';').

    Beispiel: comment_use_indent=true

Source Dateityp - Definitionsdateien


Ich wäre immer noch daran interessiert, die Kommentare am Anfang der Zeile und nicht auf der Ebene der Einrückung anzufügen.

Benutzen comment_use_indent=false

gute Information. Wenn Sie jedoch mein BEARBEITEN sehen, wurde der `~` - Teil des Kommentarblocks nicht definiert, obwohl ich oft auf die `Filetype-Definitionsdateien 'verwiesen wurde, sondern über den Editor` Edit -> Preferences -> -> Funktionen -> Kommentarumschaltmarker` user3817250 vor 9 Jahren 0
"Ich wäre immer noch daran interessiert, die Kommentare am Anfang der Zeile und nicht auf der Ebene der Einrückung einfügen zu lassen." - Versuchen Sie es mit "comment_use_indent = false", wie in meiner Antwort beschrieben. DavidPostill vor 9 Jahren 0
Ausgezeichnet. Ich hätte mir ein bisschen mehr Zeit nehmen sollen, um diese Informationen aufzunehmen. user3817250 vor 9 Jahren 0
Kann ich mehrere Blockkommentare definieren - für `/ *` `* /` und `{*` `*}`? Michal Przybylowicz vor 9 Jahren 1
@ MichałPrzybyłowicz Nicht so weit ich weiß, aber die meisten Sprachen hätten nur eine Art Blockkommentar ... DavidPostill vor 9 Jahren 1
Genau. Bei tpl-Dateien handelt es sich jedoch um eine Mischung aus HTML- und Smarty-Syntax. Grundsätzlich gibt es zwei Arten von Blockkommentaren. Michal Przybylowicz vor 9 Jahren 0
Es gibt also keine Möglichkeit, Codeblöcke zu kommentieren? `/ * * /` t q vor 9 Jahren 0
@tq Ja, du kannst die Antwort sehen. `comment_open` und` comment_close` DavidPostill vor 9 Jahren 0
@DavidPostill Ich bin in `Bearbeiten -> Einstellungen -> Editor -> Funktionen` und sehe nicht` comment_open` oder `comment_close` t q vor 9 Jahren 0
@tq "Dateitypspezifische Einstellungen werden in den Dateitypdefinitionsdateien gespeichert." DavidPostill vor 9 Jahren 1
@DavidPostill Ich sehe in `filetypes.php` dort` comment_open = / * comment_close = * / `, aber wenn ich Zeilen in einer PHP-Datei kommentiere, bekomme ich trotzdem einzeilige` // `Kommentare t q vor 9 Jahren 0
@tq Einzeilige Kommentare werden vorrangig vor mehrzeiligen Kommentaren verwendet, um eine Zeile zu kommentieren, z. B. mit dem Zeilenbefehl Kommentar / Kommentar. DavidPostill vor 9 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/31075/discussion-between-tq-and-davidpostill). t q vor 9 Jahren 0
@ tq Ich habe nichts hinzuzufügen. Bitte stellen Sie eine neue Frage. DavidPostill vor 9 Jahren 0