11

C++用のcscopeのような機能を提供するユーティリティまたはプラグインはありますか?を探しています

  • シンボルへのすべての参照
  • グローバル定義
  • 関数によって呼び出される関数
  • 関数を呼び出す関数
  • ファイルを含むファイル
4

2 に答える 2

10

スレッドhttps://www.reddit.com/r/emacs/comments/1qktcb/cscope_like_functionality_that_correctly_handles/にリストされているツールがいくつかあります。

  • Clang ctags https://github.com/drothlis/clang-ctags(clangを使用して解析し、C / C ++をサポート)-プレーンなクラシック「TAGS」ファイルを生成するようです(定義のみに移動、Exuberant Ctagsの「レベル1」) EmacsとViの場合
  • Clangタグhttps://github.com/ffevotte/clang-tags(clangを使用して解析し、C / C ++をサポートし、使用するにはサーバーを実行する必要があります)-JSONコンパイルデータベースで動作し、定義に移動clang-tag find-def /使用に移動の両方をサポートclang-tag grepvim-clang-tagsを使用して、すべての使用法を一覧表示できます(:ClangTagsGrepコマンド)。emacsプラグインもあります
  • Rtags https://github.com/Andersbakken/rtags(c++パーサーを作成してclang解析に切り替えることを保証したRobertoRaggiにちなんで名付けられました;制限されたObjC/ObjC++を使用したC/C++;./bin/rdmデーモンを使用したサーバーベース)-"follow-symbol "と"find-references"。emacsとのインターゲート- "rtags.el"; Vimには2つのプロジェクトがあります:https ://github.com/lyuts/vim-rtags (rtagsの豊富なサポート)とhttps://github.com/shaneharper/vim-rtags(2つのコマンドのみ) 「および「定義の検索」機能
  • Bear https://github.com/rizsotto/Bear(clangに基づくものではなく、cmakeおよび非cmakeプロジェクト用の「JSONコンパイルデータベース」を生成できます)。相互参照機能はありませんか?

他のいくつかのリンク

  • https://ruben2020.github.io/codequery/ " CodeQueryは、cscopeとctagsの両方から利用できる機能を組み合わせ、cscopeと比較してより高速なデータベースアクセスを提供し(sqliteを使用しているため)、優れたGUIツールを提供するプロジェクトです。よく。 "、独自のguiとvimプラグインhttps://github.com/devjoe/vim-codequery ; cscopeデータベースを生成することはできませんが、独自の「CodeQuery sqlite3 db」は、Python用のpycscopeによって生成されたcscope.outから変換されます。Ruby、Go、Javascript用のスタースコープ。Cおよび限定C++用のオリジナルのcscope。TAGSも使用できます。
  • https://github.com/cquery-project/cquery " cqueryは、C / C ++ / Objective-C向けの拡張性が高く、レイテンシが低い言語サーバーです。Chromiumなどの大規模なコードベース向けにテストおよび設計されています。cqueryは正確な機能を提供します。ワークフローを中断することなく高速なセマンティック分析を行います。 "...clang、C /C++を使用して定義/参照を検索します。非常に迅速な作業、迅速な更新、および大量のRAMを消費します。vimをサポートしています:https ://github.com/cquery-project/cquery/wiki/Vim
  • https://www.gnu.org/software/global/ GNU Globalは、cscopeの代わりとして推奨される場合があります。「定義だけでなく参照も検索」し、「組み込みパーサーによる6つの言語(定義と参照):C、C ++、Yacc、Java、PHP4およびアセンブリ」をサポートします。そしてVimの統合:https ://www.gnu.org/software/global/globaldoc_toc.html#Vim-editor

そして、Russ Coxのコード検索ツール(正規表現でも機能します-https : //github.com/google/codesearch ;例はhttps://codesearch.debian.net/about)のような高速な(インデックス付きの)grepsがいくつかあります。他のインデックス付きgrep..。

そして、LXRやその他のような相互参照ツール(GUIおよびWebサーバー)があります... https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools

于 2018-01-24T03:47:43.087 に答える
3

Vimは箱から出してcscopeと直接インターフェースできます。タイプ:h cscope。これには、Vimのコンパイル時にcscope機能を有効にし、cscopeをコンピューターにインストールする必要があります。

cscopeのWebページにVim+cscopeのチュートリアルがあります。

于 2010-03-13T09:16:37.613 に答える