Tag: eclipse

Eclipse – 将鼠标hover在标记上时的自定义文本

我正在研究Eclipse插件,目前我正在尝试让Eclipse(Luna)在hover在标记上时显示自定义文本。 我知道我可以通过指定标记参数来实现这一点,但我需要动态更改文本 ,例如: 我已经尝试过这些方法但没有成功: 1)使用自定义SourceViewerConfiguration自定义TextEditor : public class MyEditor extends TextEditor { public MyEditor() { setSourceViewerConfiguration(new SourceViewerConfiguration() { @Override public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) { return new IAnnotationHover() { @Override public String getHoverInfo(ISourceViewer sv, int ln) { return “Hello world!”; } }; } }); } } 和plugin.xml这样: 我的方法getHoverInfo永远不会被调用。 相反, 只要我打开任何* .c文件并将鼠标hover在标记上,就会调用DefaultAnnotationHover中的方法getHoverInfo 。 我通过Eclipse-> Preferences-> General-> Editors检查了可用的编辑器, […]

我是否可以让Eclipse突出显示#ifdef代码块,无论符号是否已定义?

在我正在研究的项目中,我有很多函数与#ifdef代码块交错。 在这种特殊情况下,如果巧妙地突出显示该代码以将其显示为与主代码分开,则它将更具可读性。 我已经看过主题选项,但看不到任何方法来做到这一点。 我只是从项目中删除了符号,并将eclipse强调为禁用,但是我无法轻松处理它(有限/没有hover或f3function)。 我已经阅读了几篇文章(具体来说, 我如何让Eclipse在#ifdef中编写索引代码…. #endif以及如何使#ifdef中的颜色主题在Eclipse中更具可读性? ),但它们并不是我的意思我正在寻找 – 这一切似乎都是关于取消定义符号然后生活在你失去function的事实。 我错过了什么,或者Eclipse中不存在此function? 干杯

是否可以在Java中为C程序打印出诊断信息?

我想从java程序编译以下C代码(故意留下语法错误): /* Hello World program */ #include main() { printf(“Hello World”) } 我希望我的java程序编译C文件并在控制台中提供诊断。 示例:第4行; 预期和第5行无效的语法… 我已经安装了CodeBlock MinGW编译器,并且能够编译代码并打印出错误。 看看我做了什么: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class C_Compile { public static void main(String args[]){ String ret = compile(); System.out.println(ret); } public static String compile() { String log=””; String myDirectory = “C:\\”; try { String s= null; […]

Eclipse CDT自定义编译器错误解析插件

我在Eclipse CDT中使用了一个不常见的C编译器。 我有一个make文件设置很好,但我想IDE集成我的编译器的错误/警告输出。 有谁知道我可以采取哪些步骤来编写解析/支持我的编译器输出的插件? 我认为它应该很容易,但是有一个障碍,可以找出从哪里开始。 如果Eclipse会让我做New – > Compiler Error Parser Plugin,或类似的东西会很好。 谢谢

Eclipse:如何添加自动完成使用的包含路径

我正在玩Linux设备驱动程序。 而且我注意到eclipse没有做任何自动完成。 即使包含路径,Eclipse也无法显示任何自动完成。 有没有办法将Eclipse指向一个目录并告诉它构建它的索引?

是C文件中需要extern“C”? (解决奇怪的Eclipse行为)

我对使用gcc和g ++工具的Mixed C / C ++应用程序比较陌生。 为了掌握它,我已经下载了iperf源代码并使用Eclipse成功构建了它。 有一个奇怪之处:如果我使用Eclipse查看文件“Thread.c”,它认为存在语法错误并且几乎整个文件都加下划线,好像代码有缺陷,这绝对不是。 这是触发它的代码片段: #ifdef __cplusplus extern “C” { #endif 我知道在C ++中使用extern“C”,但是当存在于.c文件中时Eclipse出现问题。 它很高兴地在.cpp和.h文件中接受它。 我已经检查了Make实用程序如何构建iperf应用程序,我看到它总是使用gcc来编译c文件和g ++来编译cpp文件,这让我想知道是否真的需要extern“C”。 它肯定没有受到伤害,因为gcc编译器很乐意处理它,但如果不是严格要求我可以省略它并在Eclipse中获得更好的可读性。 我还看了一个Eclipse的行为的可能解决方案,但还没有找到一个,如果有人能指出如何解决它同样好。

Eclipse CDT和未知标签

目前,我们正在寻求从CodeWright(早已被Borland放弃)转移到Eclipse的开发环境。 我们正在使用Eclipse进行Perl,PHP和一些Windows C ++开发,取得了很大的成功。 然而,问题出现在我们的嵌入式环境中,在makefile中使用了一些Excel似乎无法理解的定义。 这是一个例子(改变了值以保护有罪者): F_FOO unsigned char foo(ptr *this) { } 其中F_FOO在makefile中定义为 F_FOO=@foobar Eclipse将突出显示F_FOO并将其标记为语法错误。 这导致各种悲伤和可追溯性。 在某些情况下,这也发生在Builder C ++中的一些代码中,其中Eclipse不知道如何处理关键字__fastcall。 任何有关这方面的帮助(我知道我们不能成为唯一遇到此问题的人)将受到高度赞赏。

使用gdb调试JDK9 Hotspot,导致eclipse / Ubuntu终端出现SIGSEGV Segmentation故障

我正在尝试调试JDK9。 我想跟踪源代码并查看JDK / Hotspot代码的控制流。 我使用gdb和Eclipse但是有一个问题SIGSEGV Segmentation fault 。 我从JDK官方文档中按照Buildme.md配置JDK9, bash ./configure –with-debug-level=slowdebug –with-target-bits=64 –disable-warnings-as-errors 然后, make all 我得到了自定义的调试版本: /images/jdk/bin/java -version openjdk version “9-internal” OpenJDK Runtime Environment (build 9-internal+0-adhoc.xfwu.9dev) OpenJDK 64-Bit Server VM (build 9-internal+0-adhoc.xfwu.9dev, mixed mode) 以下代码段显示我使用HelloWorld.java来调试代码。 我start了gdb。 乍一看似乎很好。 但是,当该程序开始运行thread 2 ,会引发SIGSEGV Segmentation fault问题。 我不知道为什么以及如何解决它。 同样,我使用Eclipse进行调试,实际上,它与gdb没什么不同。 从根本上说,他们都使用gdb。 然后我得到了同样的问题。 终端调试 错误部分: Thread 2 “java” received signal […]

Eclipse CDT中的方法/function断点

我正在调试为调试而编译的可执行文件(没有源代码)。 GDB可以选择在特定function上设置断点,例如break division() 有没有办法在Eclipse CDT中做同样的事情??? 谢谢 !

eclipse调试模式下的GDB找不到stdlib / rand.c

我试图让gdb在ubuntu上运行eclipse cdt来开始调试一些简单的程序。 所以我做了必要的步骤以使其运行: 1.创建可执行项目 2.编译 3.跑 4.创建文件.gdbinit并将其放在主项目文件夹中 5.设置一些调试器配置 : 5.我还试图找到一个看起来像这样的.gdbinit文件: set schedule-multiple dir ~/gcc_build/4.7.2/build/gcc dir ~/gcc_build/4.7.2/gcc dir ~/gcc_build/4.7.2/gcc/cp dir ~/gcc_build/4.7.2/gcc/lto source ~/gcc_build/4.7.2/build/gcc/gdbinit.in 但是我的计算机中没有发现类似的东西,即使在做了以下情况之后: # find / -name .gdbinit 所以,我的文件.gdbinit最终得到了简单的内容 – 是的只有: set new-console on 然后我点击了Apply和Debug: gdb按预期开始正常工作。 我按下“step over / F6”按钮,调试器逐步跳过代码。 直到它到达命令rand()并且gdb挂起并显示消息: Can’t find a source file at “/build/buildd/eglibc-2.19/stdlib/rand.c” Locate the file or edit the source […]