プロが教える店舗&オフィスのセキュリティ対策術

C言語のプログラムを作成するエディタとしてNotepad++の使用を検討しています。
関数リストを表示すると、余計な行まで表示されてしまいます。
対応方法などあればお教えください。

例えば、下記のようなプログラムでは、
-------------------------
void functionA() //①
{
if(functionC()) //②
{
}
catch() //③
{
}
while() //④
{
}
}

void functionB() //⑤
{
}
-------------------------
関数リストの表示では①と⑤のみを表示したいのですが、
②と③も表示されてしまいます。(④は表示されない。)
どなたか対応方法が分かる方がいましたらお助け下さい。

一度はあきらめ、別なエディタに乗り換えも考えたのですが、
notepad++他のプログラムで使用しており、その使い方になれてしまっているため、
諦めきれず、こちらに投稿させていただきました。
よろしくお願いいたします。

A 回答 (3件)

No.2 のお礼に対して


> __fastcallという文字がダメなようです。

ソフト添付の C++ 用設定ファイルを見ると、
ベンダー独自仕様のキーワードについて考慮していないようです。

> ((consteval|constexpr|explicit|friend|inline|static|virtual)\s+)*

引用元)
関数定義の左側にあるキーワード部分の正規表現
https://github.com/notepad-plus-plus/notepad-plu …

以下に手順がありますので、設定ファイルを書き換えましょう
参考)
How to customize Function List
https://npp-user-manual.org/docs/function-list/# …

ソフト添付の設定ファイルは更新のたびに上書きされるので、
別のファイルとして保存するのがコツの様です。
参考)
Use your own personal function list definition for a built-in language
https://npp-user-manual.org/docs/function-list/# …
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。設定変更が必要だったのですね。チャレンジしてみます。

お礼日時:2024/03/20 05:46

C 言語ではなく C++ 言語のように見えますので、


Notepad++ ウィンドウ上部のメニュー / 言語(L)
から "C++" を選んでから関数リストを更新しましょう。

あくまでも C 言語というならば、
関数リスト用の定義ファイルを修正しましょう
参考)
https://npp-user-manual.org/docs/function-list/
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
C++を選択したら質問の関数のリストが表示されました。
しかし下記の場合はダメでした。
__fastcallという文字がダメなようです。
対応方法ありますでしょうか?
---------------------------------------------
__fastcall ClassA::ClassA( AnsiString fn )
{
}

__fastcall ClassA::~ClassA( void )
{
}

int __fastcall ClassA::FunctionA( void )
{
}

void __fastcall FunctionB( void )
{
}
---------------------------------------------

お礼日時:2024/03/13 11:55

かくにん.



ちゃんとインデントはしてるんだよね?
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
下記のように、拡張子cのファイルに下記を入力してみました。
void functionA()
{
  if(functionC())
  {
  }
  catch()
  {
  }
  while()
  {
  }
}

void functionB()
{
}

お礼日時:2024/03/09 11:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています