コメントブロックスタイルがGeanyforCファイルのどこで定義されているかを理解しようとしています。
つまり、テキストのブロックを選択して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と同じ構文(先頭に//
)を使用させたいのです。これは、2つの間を行ったり来たりして、一方のブロックのコメントを解除する方法がないためです。
ただし、これらの偽の//~ //~
行を削除するために、末尾のスペースを削除できれば幸いです。
Geanyコードブロックコメントのもう1つの醜い機能は、コメントアウトしている大きなブロック内にコメント付きコードのブロックがある場合、内部ブロックのコメントが解除されることです。
構成ファイルのパス(/ usr/share/geanyおよび〜/ .config/geony)をgrepしましたが、//~
が見つかりませんでした
編集:
その検索のすべての後、私はEdit -> Preferences -> Editor -> Features
の下の「コメントトグルマーカー」オプションに出くわしました
インデントレベルではなく、行の先頭にコメントを追加する方法に引き続き興味があります。
すべての色定義およびその他のファイルタイプ固有の設定は、ファイルタイプ定義ファイルに保存されます。これらの設定は、構文の強調表示の色、コメント文字や単語区切り文字などの一般的な設定、およびコンパイラとリンカーの設定です。
.。
Comment_single
コードにコメントを付けるために使用される文字または文字列。複数行のコメントのみを使用する場合は、これを設定するのではなく、comment_openとcomment_closeを設定してください。
単一行コメントは、複数行コメントよりも優先して使用され、行にコメントを付けます。コメント/コメント解除行コマンドを使用します。
例:_
comment_single=//
_comment_open
コードにコメントを付けるために使用される文字または文字列。複数行コメントを実際に使用するには、comment_closeも設定する必要があります。単一行コメントを使用する場合は、comment_singleを設定することをお勧めします。
ブロックにコメントを付けるために、複数行コメントが単一行コメントよりも優先して使用されます。テンプレートコメント。
例:_
comment_open=/*
_comment_close
複数行コメントが使用されている場合、これはコメントを閉じるための文字または文字列です。
例:_
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
_を使用する