問題タブ [emacs-semantic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - セマンティックを使用したシンボル補完での「wrong-type-argument stringp nil」エラー
C++ ソース ファイルで 'senator-complete-symbol' を使用すると、うまくいく場合もありますが、ほとんどの場合、"wrong-type-argument stringp nil, compare-strings("Ins" 0 nil nil 0 3無)」。セマンティックがそれほど一貫性のない動作をしている理由がわかりません。emacsを終了し、semanticdbディレクトリを削除し、emacsを再入力してsemanticdbを強制的に再作成することを数え切れないほど試みましたが、前述のように、理由もなく機能することもありますが、ほとんどの場合は機能しません。
私が使用しているCEDETのバージョンは次のものです。
v1.0 を試してみましたが、コンパイル エラーが発生しましたが、Emacs 23.2 にバンドルされているバージョンにはこの機能がまったくありません。どうすればこれを機能させることができるか、誰かが私に何か考えを教えてくれますか? コード補完とコードブラウジングのために emacs で使用できるより良いツールはありますか? 締め切りが迫っていて、CEDET で多くの時間を無駄にしてしまったので、少しイライラしています。なぜ CEDET がそれほど問題があるように見えるのかわかりません。
emacs - 「semantic-symref-symbol」を使用した参照が見つかりません
"semantic- symref No references found
-symbol" (Cc , g) を使用してシンボルへのすべての参照を取得しようとすると、シンボルが C++ クラス メンバー変数であるかローカル変数であるかにかかわらず、メッセージが表示されます。任意の参照。gtag データベースは私のプロジェクト ルートの下にあります。私の .emacs ファイルには、次のものがあります。
コマンドラインで「global -xs symbol」と入力すると、シンボルへのすべての参照が正しく表示されます。しかし、セマンティックで何も見つからなかったのはなぜでしょうか? 一方、'semantic-symref' は、クラスまたはクラス メンバー関数の参照を探す場合にはうまく機能しますが、変数に対しては機能しません。
それは単なるバグですか、それともシンボル参照が機能しない原因が何かありませんか?
c++ - SCons で Emacs と CEDET を使用するには?
セマンティックとオートコンプリートを壊さずに SCons と emacs + cedet を統合するには?
emacs - emacscedetにインクルードディレクトリのセマンティックルックを作成させる
Cedetは優れたツールスイートですが、デフォルトの構成では、含まれているファイルを見つけるのが困難です。
各親ディレクトリでinclude/というディレクトリを検索し、そこからファイルを取得したいと思います。
たとえば、ファイルの/home/fakedrake/my-project/some-thing/something-else/file.c
file.h#include "file.h"
はsome-thing / file.hにありますが、cedetはそれを見つけることができません。
cedetにfile.hを検索させて、ディレクトリに補完を作成するのは素晴らしいことです。
(そしてそれが探し出そうとすれば私はそれと一緒に暮らすことができます
)。
linux - Cedet/Semantic で考慮されない C プリプロセッサ定義
Linux カーネル開発プロジェクトで Emacs を IDE として使用しようとしています。そこで、問題なく CEDET と GNU Global (gtags) をインストールしました。
Linux カーネル ソース フォルダーに属する C ソース コードを開くと、Linux プロジェクトが自動的に検出されます。関数、変数、ヘッダー、およびその他のキーワードが正しく強調表示されます。
~/.emacs ファイルを通じて、セマンティックのコード補完とインテリセンスを構成しました。C を押すと、コード補完メニューが表示され、必要なものを選択できます。
問題は、プリプロセッサ定義を使用する場合です。インテリセンス システムは現在の場所にメニューを表示しますが、呼び出されたときに正しいものを検出しません (C-)。emacsを閉じて再起動しても、同じ動作が再現されます。
テストコードは次のとおりです。
//------------------------------------------------ --------------------------------------------
//------------------------------------------------ --------------------------------------------
KERNEL、 USE1 、およびLINUX_ARM_ARCHは、次のように既に定義されています。
.emacs ファイルには、カーネル プロジェクトをビルドするために GCC クロス コンパイラ (GCC for ARM) で必要なすべてのインクルードと定義も追加しました。
また、システム GCC の代わりに GCC クロス コンパイラ コマンド ラインを使用して正しく前処理するようにセマンティックに強制しようとしましたが、その方法が見つかりませんでした。
「Mx Semantic-c-describe-environment」コマンドは、正しいインクルード パスと定義 (.emacs で設定) を表示します。ただし、システム GCC 定義もリストされています。
.emacs ファイルとソフトウェア バージョンを以下に示します。
どんな助けや指示も歓迎します:)
ruby - cedet セマンティック wisent-ruby の使用
Alex Ott を含むさまざまなガイドに従って、cedet のセットアップを開始したところです。
これが、これまでのinitファイルの内容です。
セマンティックは hideshow などのパッケージよりもコードについてよく知っているので、コードの折りたたみがとても好きです。
ルビーでも同じ折り方をしたいと思います。cedet が行うことは他にもあることは知っていますが、今のところ、つま先を浸しているだけです。
したがって、contrib/ フォルダーに wisent-ruby.el があることがわかります。セマンティックはRubyの解析方法を知っているようです。INSTALL は、「自動的に」インストールされるはずだと言っています。Ruby ファイルを開くと、コードを折りたたむ魔法の三角形が表示されません。今何?
emacs - 統合されたcedetを使用したemacs 23.3のセマンティックのエラー
これが私が使用しているcedetのバージョンです
「Mx Semantic-ia-fast-jump」を実行すると、次のエラーが表示されました。
理由を知っている人はいますか?変数のデータ型が「ptrdiff_t」であることは間違いありません。
emacs - Cedet が /usr/include の下の time.h を正しく解析できない
http://alexott.net/en/writings/emacs-devenv/EmacsCedet.htmlとほぼ同じように cedet を構成しました。
alexott に感謝します。ほとんどの場合はうまく機能しますが、/usr/include/time.h の tm 構造体をうまく解析できないことがわかりました。
を使用する場合、構造体 FILE は正しいですが、セマンティックではではなく でM-x semantic-ia-fast-jump
構造体 tm が検出されます。問題は、 の前方宣言があるようです。wchar.h
time.h
wchar.h
struct tm
c++ - C++ 用の EDE プロジェクトを作成する方法
C++ (emacs24 + ビルトイン CEDET) 用の EDE プロジェクトをセットアップしようとしていますが、makefile を生成する方法が見つからないようで、必死になり始めています。私はEmacsに比較的慣れていません。私がやっていることを説明しようとします:
私はおもちゃのプロジェクトを次のように設定しています:
main.cpp には、「other/」ディレクトリ内に両方の .h が含まれています。これらは、この単純なディレクトリ設定で EDE プロジェクトを設定するために従う手順です。
- emacs で main.cpp を開いて実行し
M-x ede-new
ます。タイプ:Make
; 名前:main-proj
。 - 「他の」ディレクトリにあるファイルの 1 つを開き、次の操作を行います
M-x ede-new
。タイプ:Make
; 名前:aux-proj
。 - 次に、ターゲットを作成します (この場合は 3 つだと思います)。
- main.cpp バッファー:
M-x ede-new-target
; 名前:main
; タイプ:program
。プロンプトが表示されたら、main.cpp をこのターゲットに追加します。 - 他の 2 つのターゲット (Utils.cpp と Utils.h を持つ Utils、および CGrabBuffer.cpp と CGrabBuffer.h を持つ CGrabBuffer) についても同じことを繰り返します。ここで、最初の問題を見つけます。これらの 2 つのターゲットはどのタイプである必要がありますか? 私は彼らに .o ファイルを生成させたいだけです。
- main.cpp バッファー:
- これが完了したら、
M-x ede-customize-current-target
3 つのターゲットすべてに入力し、いくつかのインクルード パスやライブラリなどを追加します。 - この後、呼び出し
M-x ede-compile-project
てもコンパイルされません。理由は次のとおりです。- 最初に main.cpp をコンパイルしようとします。main.cpp をビルドする前に Utils.o と CGrabBuffer.o の両方が必要であることを (EDE を使用して) 指定する方法がわかりません。
- 手動で順序を変更すると (Makefile を編集して)、Utils.o と CGrabBuffer.o が見つからないため、main.cpp をリンクできません。
ご覧のとおり、私は大混乱の真っ只中にいます。EDE での「ターゲット」の意味さえ理解していないのかもしれません。.emacs ファイル内で指定する必要がある ede-cpp-root-project の存在についても読みました。私はそれを試していない. Makefile は生成されませんね。Project.el で構築された EDE プロジェクトと、セマンティクスに ede-cpp-root-project を使用した同じものを使用できますか (または必要ですか)? それとも冗長ですか?
私が多くのことを誤解していたら申し訳ありませんが、私は非常に混乱しており、emacs に慣れていないため、事態はさらに悪化しています。お待ち頂きまして、ありがとうございます!
編集:いくつかのいじくり回しと私が受け取った応答で、私は多くのものを理解することができたので、どうもありがとう. 私がまだ理解していないのは、.emacs ファイル内で指定する必要がある ede-cpp-root-project の使用です。それはC ++セマンティクスのためだけですか? Project.el と .emacs の elisp 行を含むプロジェクトを持つことは冗長ですか?
emacs - Emacs 23、セマンティック・サムシング・ツー・タグ・テーブル、イーアシスト・モード
非常に便利な簡単モードは、CEDET のsemantic-something-to-tag-table
機能に依存しています。この関数をEmacsの組み込みCEDETからどのようにロードできるか、誰にでもアドバイスできますか?