1

私の問題は、インデントが原因で imenu または speedbar/semantic が失敗することです。この単純なファイルの場合、問題ありません。

#include <iostream>
void bar() {
   std::cout << "bar" << std::endl;
}

しかし、関数 bar を名前空間に入れ、そのコードをインデントしたい場合:

  • スピードバー ( (require 'semantic/sb)init.el にある) を使用すると、スピードバー フレームにファイル タグがなく、ミニバッファーに「ファイル モード指定エラー: (void-function c-subword-mode)」が表示されます。

  • MX imenu を使用すると、ミニバッファーに「このバッファーで見つかったインデックスに適したアイテムはありません」というメッセージが表示されました。

失敗するコード例:

#include <iostream>

namespace foo {
    void bar() {
    std::cout << "bar" << std::endl;
    }
}

失敗するのは名前空間ではなく、識別です。以下も失敗します。

#include <iostream>
    void bar() {
       std::cout << "bar" << std::endl;
    }

なぜ、どのように機能させるのか考えていますか?

ありがとう!!

編集:解決策は確かにスピードバー+セメンティクスです。それは実際に動作します(init.elに何か問題がありました...)

4

1 に答える 1