Flash Builder 4突然停止了某些类的自动完成

Flash Builder 4突然停止了某些类的自动完成,flash,apache-flex,autocomplete,air,builder,Flash,Apache Flex,Autocomplete,Air,Builder,我们在Flash Builder中工作了几个星期的一个项目突然停止了导航:Flash Builder的所有优秀功能,如自动完成、跳转到定义,甚至搜索引用,都只是部分工作——它们适用于某些类,但不适用于其他类。我尝试重新启动Flash Builder,关闭和打开项目,重新创建项目,但这种糟糕的情况仍然存在。此外,对于同一项目中的另外两个开发人员来说,这几乎是同时发生的,每个开发人员的配置都有所不同。似乎我们已经超过了FlashBuilder的一些内部限制,但我们的项目还没有那么大。我不确定在哪里可

我们在Flash Builder中工作了几个星期的一个项目突然停止了导航:Flash Builder的所有优秀功能,如自动完成、跳转到定义,甚至搜索引用,都只是部分工作——它们适用于某些类,但不适用于其他类。我尝试重新启动Flash Builder,关闭和打开项目,重新创建项目,但这种糟糕的情况仍然存在。此外,对于同一项目中的另外两个开发人员来说,这几乎是同时发生的,每个开发人员的配置都有所不同。似乎我们已经超过了FlashBuilder的一些内部限制,但我们的项目还没有那么大。我不确定在哪里可以找到故障排除方法。

这是eclipse(又名Flash Builder)中的一个常见问题

尝试增加“类型缓存”的可用内存(我忘记了具体的术语)。您可以通过编辑flex主页中的FlashBuilder.ini来实现这一点,如下所示:

-vmargs
-Xms64m
-Xmx1024m
-XX:MaxPermSize=1024m
-XX:PermSize=64m
(删掉了不相关的选项)

您可能还需要完全删除工作区缓存并重新创建它。自从我增加了最大内存限制后,我就没有遇到过这个问题


您可能不需要在最大大小上超过512m,但我正在处理一个具有大量开放库依赖项的特别大的项目…

通常Eclipse关闭并重新启动会为我解决问题。但是,这里有一些其他的东西可以尝试:

  • 由于这种情况发生在三个工作站上,在一组离散的类上,您是否发现了一个奇怪的或非标准的语法错误?我确信我见过这样的情况:某些东西不会导致编译器错误,但确实会导致代码提示中断。我会寻找双引号中的单引号或没有正确终止的asdoc。[不过,这看起来确实极不一致,因此有点像是暗中捅了一刀]
  • 试着清理一下工作空间。启动Flash Builder(或Eclipse)时,请使用“-clean”参数。我在Windows快捷方式中执行此操作;我不知道在Mac电脑上怎么做
  • 尝试重新创建有问题的组件。慢慢地将代码分块复制,直到你发现是什么打破了代码暗示
    删除然后重新添加项目似乎可以解决这一问题。

    我通过启用“启用设计模式”得到了显著的改进。

    我也遇到了同样的问题,有时甚至代码自动完成会在自定义类上崩溃

    我建议您尝试从工作区中删除.codemodel文件夹 ,请参阅此处的说明:


    稍后,为了提高性能,您可以按照以下步骤进行操作:

    这些都不适合我。我的解决方案是在BBedit(我在Mac上)中运行一个textfactory,用四个空格替换整个代码库中的每个选项卡,然后另一个则相反。然后我在FB中刷新我的项目。对每个文件的这种修改似乎迫使FB重建其引用。我每次启动FB都要这么做。我确信有更好的命令行方式来实现这一点(尽管unix“touch”不起作用)。

    当我向MXML应用程序添加模型声明时,发生了这种情况。当我把这个注释掉时,自动完成又起作用了

    <fx:Model id="testTextFlow">
        <flow:TextFlow version='3.0.0' xmlns:flow='http://ns.adobe.com/textLayout/2008' fontSize='11' 
            textIndent='10' paragraphSpaceBefore='6' paddingTop='8' paddingLeft='8' paddingRight='8'>
            <flow:p paragraphSpaceBefore='inherit' clearFloats='start'>
            <flow:img source="http://imgs.xkcd.com/comics/trapped.png" width="600" height="300" float="right"/>
            <flow:span>Bacon ipsum. Permanent link to this comic: http://xkcd.com/876/ Image URL (for hotlinking/embedding): http://imgs.xkcd.com/comics/trapped.png</flow:span>
            <flow:TextFlow version='3.0.0' xmlns:flow='http://ns.adobe.com/textLayout/2008' fontSize='15'>  
            <flow:p paragraphSpaceBefore='inherit' >Here is an embedded text flow.</flow:p>
            </flow:TextFlow>
            </flow:p>
        </flow:TextFlow>
    </fx:Model>
    
    
    培根ipsum。此漫画的永久链接:http://xkcd.com/876/ 图像URL(用于热链接/嵌入):http://imgs.xkcd.com/comics/trapped.png
    这里是一个嵌入式文本流。
    
    右键单击一个类并选择“刷新”为我解决了这个问题:)


    我还注意到它打开了一个奇怪的第二个类,当您从另一个类中单击指向该类的超链接时,代码提示不起作用。如果双击文档树中的“Class.as”文件,则该文件可以正常工作。非常奇怪

    语法高亮显示是否仍然适用于这些类?语法着色适用于所有类。我仍然可以构建、运行和调试。但是,控件单击只会显示某些类的链接,而不会显示其他类的链接,而且它不会显示的链接看起来是随机的——这不像是在某个特定的库中。这种情况也发生在我身上。下面是有问题的代码
    删除
    {
    表达式中的
    {
    }
    为我解决了这个问题:)此大括号删除不仅仅是regexp的解决方案-用于DateField disabledRanges mxml标记中的快速“日期范围限制”。它破坏了所有mxml组件的自动完成功能,这些组件位于mxml的该部分之后(所有顶级mxml组件的自动完成功能都很好)。