13

私はvimを使用する大規模なプロジェクトにcscopeを使用していますが、vimマッピングは使用していません(奇妙な理由でvimをフリーズしました)。私はvim内からcscopeコマンドを使用していますが、コード全体で構造体メンバーの使用法を見つけられるようにしたいと考えています。

私がこのようなものを持っているとしましょう:

  1 typedef struct _s{
  2     
  3     int x;
  4 } S;
  5  
  6 int main(){
  7
  8     int x = 1;
  9
 10     S my_s;
 11
 12     my_s.x = 5;
 13
 14     return my_s.x;
 15 }

コマンド'csfs x'を発行すると、Sのメンバー変数とローカルメイン変数の両方が返されます。Sのメンバー変数の出現のみを見つける方法はありますか?

4

2 に答える 2

4

cscope にローカル変数 x と構造体メンバー変数を区別させる方法はないと思います。

私の会社でこの問題を解決する方法は、メンバー変数を区別するのに役立つ一意の命名スキームを使用することです。

typedef struct _s{    
    int s_x;
} S;

最初は少しぎこちないですが、慣れるとコードをナビゲートしやすくなります。通常、一意化子は構造に関連する数文字のみであり、物事がひどく混乱することはありません。

于 2011-05-31T19:31:27.147 に答える
-1

x を検索する代わりに、構造変数「my_s」にカーソルを置き、キーの組み合わせ「gd」を押すことができます。これにより、my_s の定義に位置付けられ、cscope を使用して S の定義を見つけます。

于 2011-06-01T06:29:28.473 に答える