2

看来这个论坛比邮件列表更活跃:http: //sourceforge.net/mailarchive/forum.php ?forum_name=cedet-semantic 。我想从那里重新发布一周前的任务:

首先向所有为 CEDET 做出贡献的人致敬:D。

没有太多的麻烦,我可以处理 CEDET 的大部分期货,但是当涉及到参议员/语义时,事情变得更加艰难:\。

解析本地文件很好。我不使用 EDE 不是为了让事情变得更复杂。为了与 ECB 兼容,我使用 1.0.6 git trunk 版本。

  1. 首先是关于 emacs core / cedet git-trunk hussle 的讨论。如何检查当前安装是否正在运行后者?(我做了一些 .emacs 修改,见下文)。

  2. 我通常无法为外部库获得正确的自动完成功能 - 在这种情况下是 OGRE3D 项目,它们都在 /usr/include/OGRE. 我想我已经正确地添加到“搜索路径”中,语义描述-c-env。看到它们正确添加。

2.a 语义解析器的基本命令是什么?,也就是说我需要强制它解析所需的包含。

一旦我在“空闲时间”看到语义解析 OGRE 文件。自动完成功能仍然不起作用( OGRE:RAY 未被识别为一种类型)。senator-completion-menu-pop 给出了一些不匹配的 'c**p'

2.b 我知道有语义的自定义组选项,他们的描述对我来说很难说。

从另一个帖子:

“是的,有一个设置成本。你可以使用 semanticdb.sh 来预解析你的代码,但是如果你从不打开每个文件,你最终可能会得到 Emacs 拥有如此庞大的数据结构,它会变得更大,以至于你的机器可以处理. 如果你的项目很小,这应该不是问题。

好吧,这可能是,如果那会解析 OGRE。

这是我的 .emacs:

pastebin.com 上的 .emacs

4

1 回答 1

0

这是我在邮件列表中收到的内容,希望对某人有所帮助,感谢 Eric Ludlam :D:

=======================

1. First is the rumble about the emacs core / cedet git-trunk hussle. How do I check that current installation is running the latter ? ( I have done some .emacs modificaitons see below) . 

emacs 启动后,使用:

Mx cedet 版本 RET

并从 CEDET/bzr 寻找 1.1 版本。

我刚刚尝试过,发现并非所有内容都有正确的版本号。有趣的。我得调查一下。

无论如何,接下来要尝试的是:

Mx 定位库 RET cedet RET

并确保它指向您认为应该指向的位置。

2. I generally cannot get the proper autocomplete working for external libs - in this case the OGRE3D project, which all are in the /usr/include/OGRE. I suppose I have added to 'search path' include properly, semantic-describe-c-env. sees them added properly. 

如果启用 global-semantic-decoration-mode 你可以右键单击头文件,它会给你一些选项,例如显示头文件在哪里,以及显示它是否已经被解析。

2.a What are the basic commands to the semantic parser ? , that is I need to force it to parse the desired includes. 

您可以使用包含菜单强制解析标题,或访问所说的包含。如果找不到,您也可以从那里将 OGRE 添加到您的路径中。

如果您查看标题,您可以使用 senator 菜单强制重新解析文件,或使用:

Cu Mx 牛酸盐 RET

去做吧。

Once I saw semantic parsing the OGRE files in the 'idle time'. Still the autocomplete does not work ( OGRE:RAY is not recongized as a type). senator-completition-menu-pop gives some non-matching 'c**p' 

自动完成可能因多种原因而失败。找出原因的最佳方法是:

Mx 语义分析调试辅助 RET

在你想要完成的地方。它将告诉您有关头文件、符号等的信息。可能是您的预处理器符号需要一些设置。

对于大型复杂的库头文件,有时只需在语义中设置正确的预处理器符号,以便解析头文件的正确位以查找符号。您必须访问要完成的​​符号所在的标头,并查看它是否已被解析。使用:

Mx boviante RET

将转储符号表。

2.b I know there are customize-group options for semantic, tough their description say little to me.

    From the other post: 

"Yes, there is a setup cost. You can use semanticdb.sh to pre-parse your code, but if you never open *every* file, you might end up with Emacs having such a huge data structure it gets larger that your machine can handle. If your project is small, this shouldn't be a problem." Well this might be, if that would parse OGRE. 

我怀疑解析包含是这里的问题。我认为我们必须处理的食人魔标题中只是有一些新的东西。

埃里克

====================================

于 2012-06-29T09:37:01.790 回答