5

emacsでは、CMaとCMeを使用して、C++コードの関数の開始/終了を実行します。ただし、関数が名前空間で囲まれている場合、この機能は機能しなくなります(名前空間エンクロージャの最初または最後にジャンプするだけです)。誰かがこれに対する良い解決策を持っていますか?

4

2 に答える 2

8

これは既知のバグです。3日前にリリースされたEmacs24.1で修正されました。それを得る。残念ながら、その修正はバックポートされたことがなく、これがすぐに行われる可能性はほとんどありません。

于 2012-06-13T14:30:53.990 に答える
2

問題を修正するEmacs24.1を入手するのが最善の方法です。古いバージョンのEmacsで立ち往生している場合、一般的な回避策はプリプロセッサマクロを使用することでした。

#define NAMESPACE_BEGIN(X) namespace X {
#define NAMESPACE_END      }

NAMESPACE_BEGIN(tools)

class Foo {
    //...
};

NAMESPACE_END

これの何人かの開業医は他の理由がありました。私は個人的に、デフォルトのEmacs設定が名前空間のコードをインデントするのを防ぐ方法が好きでした。

于 2012-06-13T14:48:08.560 に答える