我正在为自定义文件格式编写一个eclipse编辑器插件,并希望提供一种方法,从命名引用快速跳转到实体的定义 - 基本上是eclipse Java编辑器的"开放声明"功能.
我知道我可以通过注册编辑器操作并将其放在上下文菜单中来实现这一点,但是当我在Java编辑器中按CTRL时,我真的很喜欢所有Java标识符转换成声明链接的方式 - 我怎么能这样做?我在文档中找不到任何相关内容.
由于将Cruisecontrol构建服务器迁移到新计算机,它有时会在构建周期的"修改集"阶段挂起(它配置为每15分钟检查一次修改).Cruisecontrol本身保持响应,只有构建不会进展.
当发生这种情况时,CPU上没有明显的负载,并且我已经看到它在这种状态下保持了一个小时或更长时间,尽管它似乎最终会突破这种状态.似乎没有一种模式可以解决它发生的项目.硬件是全新的,我运行了一个没有问题的memtest.
这是系统配置:
这就是我的修改集的样子
<modificationset quietperiod="10">
    <veto><!-- there are several of these -->
        <triggers>
            <svn LocalWorkingCopy="${checkout_dir}/base" />
        </triggers>
        <buildstatus logdir="${log_dir}/base" />
    </veto>
    <timebuild time="2330" />
    <svn LocalWorkingCopy="${checkout_dir}/${project.name}" />
</modificationset>
Run Code Online (Sandbox Code Playgroud)
那么在这里可以做些什么呢?
编辑:这是巡航控制日志文件的摘录,显示projectA挂在16:07(现在仍然在17:48挂起)
2009-10-27 16:07:55,096 [Thread-38860] INFO  Project          - Project projectA:  bootstrapping
2009-10-27 16:07:55,096 [Thread-38860] INFO  ProjectController - projectA Controller: build progress event: bootstrapping
2009-10-27 16:07:55,262 [Thread-38862] INFO  ScriptRunner     - Buildfile: work/build-cruisecontrol.xml
2009-10-27 16:07:59,230 [Thread-38860] INFO  AntBootstrapper  - Bootstrap …Run Code Online (Sandbox Code Playgroud) Long l1 = null;
Long l2 = Long.getLong("23");
Long l3 = Long.valueOf(23);
System.out.println(l1 instanceof Long);  // returns false
System.out.println(l2 instanceof Long);  // returns false
System.out.println(l3 instanceof Long);  // returns true
Run Code Online (Sandbox Code Playgroud)
我无法理解返回的输出.我期待第二和第三个系统的真正至少.有人能解释一下instanceof的工作原理吗?
JCheckBox当某个其他字段为空时,我不应该检查用户.
所以现在我想有一个错误弹出,然后重置该复选框(我已经考虑禁用该复选框,但对于另一场的连接并不明显,和工具提示文本IMO不够可见).
在Swing中这样做的正确方法是什么?通过一个PropertyVetoException?我在哪里扔它,我在哪里抓到它?我的第一个(可能是丑陋的)想法是添加一个ChangeListener本身显示弹出窗口并重置值.
编辑:问题是关于Nikki(下面的截图),我正在开发的一个应用程序地理标记图像并将其导出到谷歌地球的KMZ格式.该复选框用于选择要包含在导出中的图像.但这需要首先获取图像(这又需要时间戳或手动分配).我不认为这个要求可以通过UI布局显而易见.
...这是什么意思?我几乎没有使用jQuery的经验,需要使用一些现有的代码.
所有教程都讨论的是使用带有伪CSS选择器的$(),但是这样的含义是什么:
$(function makeFooWriteTooltip() {
    if($("div[name='txttooltip']").length>0){
        $("div[name='txttooltip']").each(
         function(){
Run Code Online (Sandbox Code Playgroud) 对于 Facebook 游戏,我想要具有多种语言(特别是英语和德语)标题的 Open Graph 图片对象。我按照 Facebook 的开放图国际化文档中的描述做了所有事情,但不知何故,对象(和动作)总是在新闻源和活动中显示英文标题 - 并且该应用程序在其配置中绝对是本地化的。
这是其中一个对象的 URL:http : //apps.facebook.com/spot-it/opengraph/picture/pictures.1A24.html
如果我使用设置为 German的 fb_locale 参数通过 Facebook 的对象调试器获得它,我会看到:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# spot-it: http://ogp.me/ns/fb/spot-it#">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta property="og:locale:alternate" content="de_DE">
<meta property="og:locale:alternate" content="en_US">
<meta property="og:locale" content="de_DE">
<meta property="fb:app_id" content="419035224820013">
<meta property="og:type" content="spot-it:picture">
<meta property="og:url" content="http://apps.facebook.com/spot-it/opengraph/picture/pictures.1A24.html">
<meta property="og:title" content="Beißerchen">
<meta property="og:description" content="Findest du die Fehler in 'Beißerchen'?">
<meta property="og:image" content="http://d2tv32y5kdvj8c.cloudfront.net/assets/pictures/1A24_potd.jpg">
</head>
<body>
  <script …Run Code Online (Sandbox Code Playgroud) 我如何在eclipse编辑器插件中指示语法错误(例如非法的令牌序列),就像在eclipse Java编辑器中一样,即通过红色蠕动下划线,滚动条上的红色标记,您可以跳转到,以及解释性消息你徘徊在任何一个?
我正在为自定义文件格式(特别是Shark3D游戏引擎的"蛇文件格式")编写一个eclipse编辑器插件.我已经实现了一个扫描仪来获得语法高亮和一个大纲.
IToken带有"蠕动下划线" TextAttribute而不是正常下划线,或者是否有标记语法错误的特定机制?IAnnotationModel相关的接口吗?如果是这样,我在哪里注册实现以便标记出现?SourceViewerConfiguration.getAnnotationHover(),这将允许我实现悬停行为,但仅适用于"注释",我想这意味着滚动条标记 - 如何实现文本本身的悬停行为?我会很高兴具体的建议以及一个涵盖这个的教程的URL - 日食帮助文档和示例似乎没有.
编辑: 
标记是最好的解决方案.可以在插件示例代码中找到如何使用它们的工作示例org.eclipse.ui.examples.readmetool.AddReadmeMarkerAction
我试图在 cygwin 下使用 git-svn 将本地 SVN 存储库转换为 git,但失败了。发生的情况是这样的:
$ git svn init -t tags -b branches -T trunk  file:///cygdrive/e/repository/project
init: command returned error: 127
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我听说过一些我无法与之交谈的人是jmock的忠实粉丝.我已经完成了以测试为中心的开发多年,因此我浏览了网站并查看了一些文档,但仍然无法弄清楚它有多好.
春天我遇到了同样的问题.如果你已经明白它是什么,那么他们的文档会很好地解释它,所以我不认为jmock是没有价值的.我只是不明白它对我有什么影响.
因此,如果jmock为我提供了模拟存根数据的能力,那么让我们举一个如何做事情的例子,看看jmock会更好.
假设我有我的UI层,在创建窗口小部件时创建窗口小部件和窗口小部件服务,初始化窗口小部件并将其中的部分存储在构成窗口小部件所需的三个表中.
当我写测试时,我就是这样做的.
首先,我重新将hibernate指向我的测试高超音速数据库,这样我就不需要做一堆数据库设置了.Hibernate为我创建了我的表.
我的所有测试都有静态工厂方法,为我构建类的测试实例.我的每个DAO都创建指向测试模式的测试版本.然后我的服务类有一个用测试类生成的DAO构造自己的服务类.
现在,当我运行调用服务的UI控制器的测试时,我正在通过应用程序测试我的代码.当然,这不是进行单元测试时通常需要的完全隔离,但在我看来,它为我提供了更好的单元测试,因为它在所有支持层中一直执行实际代码.
因为在休眠状态下Hypersonic运行缓慢,所以我的所有测试都需要稍长的时间,但我的整个构建仍然在不到五分钟的时间内在较旧的计算机上运行以进行完整的构建和打包,所以我觉得这很可接受.
我如何用jmock做不同的事情?
我知道将常量放在界面中通常被认为是不好的做法,但......
我正在使用Observer模式将事件从对象广播到侦听器.
interface DownloadListener 
{
    public void sendEvent(int eventId);
}
Run Code Online (Sandbox Code Playgroud)
广播公司使用常量int来告诉听众哪个事件发生了.
class DownloadTask 
{
    public static final int EVENT_DOWNLOAD_STARTED = 1;
    public static final int EVENT_DOWNLOAD_COMPLETED = 2; //should these go here?
    DownloadTask(DownloadListener listener)
    {
        listener.sendEvent(EVENT_DOWNLOAD_STARTED);
    }
}
Run Code Online (Sandbox Code Playgroud)
将常量放在界面中会更好吗?我的想法是接口是广播公司和听众之间的契约,因此它应该包含该合同的细节(常量).
我正在开发移动设备(Java 1.3),所以很遗憾不能使用枚举类型.