问题标签 [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.

0 投票
1 回答
3479 浏览

emacs - 使 emacs 语义自动完成提示“始终打开”

我刚刚安装了 cedet(CVS 版本),现在我正在使用 emacs 和我的 C++ 源代码。

关于自动完成,我可以从他们的 semantic-ia-complete-* 命令调用工具提示和菜单。

有谁知道如何使自动完成提示自动出现而无需调用命令(semantic-ia-complete-tip)?这甚至可能吗?

0 投票
1 回答
624 浏览

c++ - Emacs Semantic/ECB namespace-struct C++ 混淆

我正在尝试设置 ECB 以使用 C++ 源代码。看起来,语义或 ECB 在确定具有显式命名空间 的函数声明者namespace:: function是否真的在命名空间中时存在问题。相反,它将其解析为结构成员函数。

此外,typedef 被解析为函数原型。

我应该怎么做才能修复它?我正在使用 cedet 1 .06pre 和 ECB 2.40。

0 投票
1 回答
5693 浏览

c++ - Emacs、Cedet 和语义

在Alex 的文章之后,我已经为 emacs 配置了 CEDET (太棒了!!)。现在,问题:

  1. 我已经在我的 Gnu Global 中生成了 GTAGS /usr/include,如何检查语义是否使用 GTAGS?
  2. 我可以将我的 GTAGS 保存在另一个目录中并指示语义使用该目录吗?
  3. 在 C/C++ 源代码中,include 语句的完成(来自系统头文件)不会列出所有可用的头文件。好的,这是一个愚蠢的问题..但让我觉得有些事情不正常
0 投票
2 回答
1140 浏览

emacs - 用语义解析整个项目

我正在寻找一种方法来解析带有语义的源代码的整个目录。这是否可以在不显式打开 emacs 中的每个文件的情况下完成?

0 投票
2 回答
1391 浏览

emacs - 是否可以让语义(emacs)自动访问所有文件?

从我从文档中可以看出,语义通过在您访问它们时分析每个文件(可能还有它的邻居)来慢慢建立对项目中内容的想法。这太慢了。我想让它访问我项目中的所有文件。是否有捷径可寻?必须访问数百个文件才能获得像样的自动完成功能,这似乎很疯狂。

我还生成了一个 etags 文件。我可以以某种方式利用它吗?

相关信息:Windows 上的 Emacs,版本 23.2.1

0 投票
2 回答
2634 浏览

emacs - Emacs 源代码导航功能

我正在开发一个大型 c++ 项目。在过去的六个月里,我一直在使用 emacs。我尝试配置 CEDET 以便能够轻松导航,但我发现了一些问题。

1.- 有时语义找不到一些符号,有时他没有……我不清楚哪些文件是语义索引。我曾尝试使用 EDE(按照本文http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html中的说明进行操作),但我也发现了一些问题......

  • 我有同一个项目的多个版本(版本),每个版本都在自己的文件夹中。我如何告诉 emacs 我正在处理哪个项目?
  • 我如何告诉 ede 在哪里寻找我的头文件?我可以只指定一个根目录,语义将在所有子目录中搜索头文件吗?

2.- 前段时间我在使用 vim+cscope,我记得有一种方法可以在符号堆栈中导航回来(Ctrl-t)。在 emacs 中有这样的东西吗?

PD> 一些数据使问题更清楚。

我有同一个项目的多个版本。每个都有自己的根目录。每个项目都有多个模块,每个模块都位于一个子目录中。每个模块都有头文件。

这是我的 .emacs 中关于 EDE 的配置

只是想让你知道......我正在使用 emacs 的控制台版本(-nw)。

0 投票
1 回答
2456 浏览

emacs - 如何让emacs Semantic使用GTAGS生成的TAG文件

我的 emacs 版本是 23.2.1 虽然我使用以下内容将后端更改为使用 GTAGS。(require 'semantic/db-global) (semanticdb-enable-gnu-global-databases 'c-mode) (semanticdb-enable-gnu-global-databases 'c++-mode) 我试图生成一个 GTAGS 文件用作语义的后端。但是,每次打开 C 文件时,Semantic 仍然在解析文件而不使用 GTAGS 文件。

  1. 是否可以使用 GTAGS 文件而不是内置的语义解析器?我发现内置的解析器不是很准确。

  2. 是否可以在不指定项目范围的情况下使用 GTAGS 文件?就我而言,我尝试将 GTAGS 文件放在 /usr/include 中,这应该是 emacs 的标准包含路径。但是语义没有使用它。

0 投票
1 回答
3153 浏览

emacs - Emacs/CEDET。多个项目和代码完成

我已经使用 CEDET 1.0 和 ECB 2.40 设置了 emacs 23.1.50.1(很大程度上受到了http://github.com/alexott/emacs-configs/blob/master/rc/emacs-rc-cedet.el上的 Alex Otts 设置的启发和他对 Cedet 的温和介绍(http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html),感谢 Alex)。它工作得很好,但我需要更多地了解在处理多个项目时如何处理代码完成和符号引用。

我创建了一个简单的 ede 项目,如下所示:

加载此项目时,Semantic 是否只会在项目配置中指定的各个目录中查找完成?

我按照http://mmmyddd.freeshell.net/blog/Computer/Emacs/usecscopesemanticdbbackend使用 cscope 作为语义数据库的后端。我可以运行 semanticdb-enable-cscope-in​​-buffer 而没有 emacs 抛出任何错误,但我不知道语义是否使用我的数据库。我是否也可以在我的项目定义中添加对 cscope.out 的引用,以便更好地控制在当前上下文中搜索引用的文件?

几个奇怪的地方:

当我尝试打开一个新的源文件时,我收到错误“应用:搜索程序:没有这样的文件或目录,全局”并且没有任何反应。如果我尝试再次打开它,一切都很好。

当我尝试通过指向锚文件来加载项目时,出现此错误:“if: Wrong type argument: class-p, ede-cpp-root”

0 投票
3 回答
2131 浏览

java - 如何在 emacs 语义中包含标准 jdk 库?

我正在使用 Emacs 23.2。这是我加载语义的方式:

因此,如果我创建一个简单的 java 文件并访问它,我将获得本地定义的方法和类的代码完成。但我不知道如何让语义感知 jdk 库。例如,如果我尝试semantic-ia-complete-symbol使用 String 变量,我会得到Cannot find types for 'String blah'.

有谁知道如何将 jdk 库加载到语义数据库中,以便可以使用 String 等标准对象类型的代码完成?

0 投票
1 回答
1040 浏览

emacs - CEDET 语义分析器在其他快速系统上相当慢

我的测试设置:英特尔双核 3GHz、Windows XP 32 位、Emacs 23.2.1、CEDET v1.0(按安装文档中所述进行字节编译)。

Emacs 初始化文件只包含以下四行:

打开仅包含一个函数的 C++ 文件时,通过 (semantic-ia-complete-symbol) 完成该函数仅在明显滞后后完成,即使在重复尝试后也是如此。

评估semantic-analyze-current-context表明,缓慢是由语义分析器引起的。

这是运行几次后的ELP结果文件,没有改变缓冲区中的点。semantic-elp-analyze总经过时间始终约为0.6 秒

当我添加一个包含语句时,例如#include <stdio.h>,时间更改为2.5 seconds。这是相应的ELP 结果

在我的 linux 环境中,相同的基准测试永远不会超过 0.1 秒。(相同的硬件,Debian 的 23.1 Emacs,CEDET v1.0)

任何想法我的设置可能有什么问题?