移动和消失的代码行; Eclipse的XML编辑器出现问题
有时我的代码会自行移动,或者在Eclipse XML编辑器中消失。
当我突出显示受影响的代码时,突出显示的行尝试自行更正。 但是当我向相反的方向滚动或拖动鼠标时,代码会再次移动。 从本质上讲,我将有一个重复的,缺less的, 并从另外一个没有错误的文件显示的代码行。 受影响的文件做编译,如果我closures/重新打开它们,这个问题消失,暂时。 任何想法发生了什么?
补充: Jeff Axelrod提供了一个与Google联系的新bug报告 。
这个错误是(最终)在ADT 21中修复的。现在可以在ADT 21 Preview 9,几分钟前发布,在这里: https : //android-review.googlesource.com/#/c/44936/1
你得到奇怪的视觉文物的原因是,如果一个文件包含损坏的DOS行结束(多个回车没有每个回车换行符),Eclipse变得非常困惑。 这是Eclipse的问题https://bugs.eclipse.org/bugs/show_bug.cgi?id=375421 。
这个解决scheme有两个部分:(1)首先,ADT是固定的,不再将这些序列引入到文档中。 这样可以确保您不会获得触发奇怪编辑行为的新文档,但是它不会追溯性地修复具有这些行结尾的较旧文档,因此如果打开它们,仍然会出现奇怪的编辑行为。
(2)其次,有一个新的皮棉检查,在文件中查找折线结尾。 这个增量运行,所以如果你编辑有这个问题的XML文件,ADT会为这个问题添加一个错误标记 – 以及一个quickfix来对文档执行修复操作。
简而言之:获得ADT 21 Preview 9; 在您的项目上运行Lint并查找有关包含折线结尾的文件的任何投诉,如果find,请应用quickfix。 从现在开始,使用布局编辑器进一步编辑应该保持文件格式一致。
仅供参考,相关的修补程序在这里: https : //android-review.googlesource.com/#/c/44936/
轻松更新SDK工具和Eclipse ADT插件的说明如下: http : //tools.android.com/preview-channel
– Tor(来自Android工具团队)
经过一些testing后,我发现“自动格式化可视化布局编辑器编辑的XML”选项(在首选项|安卓|编辑器中)可能是这里的罪魁祸首。
通过我的testing,我发现在graphics布局devise模式下更改属性(如layout_gravity)时,如果此选项处于ON状态时返回到XML(文本)模式,则总是会使文件的可视化显示消失,我没有问题,当它closures。
如果要在从graphics布局devise模式返回时格式化XML,只需使用快捷键Ctrl + Shift + F即可 。 此外,我没有看到使用选项“保存格式”的任何问题; 即使在graphics布局模式下使用它, 因此您仍然可以在graphics布局模式下使用Ctrl + S来保存和格式化XML。
我试过其他的编辑器选项,例如“显示范围指示器”或“使用字符来显示垂直标尺的变化”,但我没有看到任何与激活或取消激活这些选项的行为上的差异。
最后,修正文件损坏时的可视化显示; 我发现使用快捷键: Ctrl + A , Ctrl + C , Ctrl + V比closures/重新打开文件要容易一些。 这相当于做一个全选,复制,粘贴; 有效地复制整个XML文件。
在Juno上仍然遇到这个错误(Eclipse 4.2.0,ADT r20)。
我的修复:转到窗口 – >首选项 – > Android – >编辑器。 我同时使用“使用标准Android XML格式化XML”和“使用Eclipse设置缩进….”进行检查。 这解决了我的问题。
编辑:包含更快的方法,所以它被带到上面:
Ctrl + F – >像这样填充:
- “查找” “\ r \ r \ n”
- “replace” “\ r \ n”
- 将“正则expression式”切换为ON
- 点击“全部replace”button
- Ctrl + A
- 取消select文本。
- 快乐=)
原来是在这里:只要不隐藏这个问题,如果你可以修复它。 有时甚至closuresXML文件没有帮助。
为了解决它,让我们看看它的原因。 首先打开“显示空白字符”( 窗口>首选项>常规>编辑器>文本编辑器>显示空白字符 )
然后回到你的XML文件。
在缩放图像中,您可能会看到“\ n” – 符号颜色的区别;
那么就把光标放到那个更暗的符号上。
看,两条线被选中0 …这可能是原因!
所以只要删除它,然后按“Enter”或“Return”button添加“\ n”符号。
希望它能帮助你。
你也可以findendline的另一个符号:
只要删除它,你的XML将有一个很好看!
PS抱歉的超链接,我是新手,所以我不能上传图像或超过2个链接。 所以希望你没有额外的照片就能明白这一点;)
PPS Thx给那些投票的人,现在我可以提供这个图像。
我有同样的困难,终于find了解决办法:右键单击编辑器,selectSource/Cleanup Document
。
我遇到过同样的问题。 以下步骤是解决scheme。 链接build议它为别人工作。
- 转到首选项 – >键
- 取消绑定复制,粘贴和剪切(点击“应用”,然后点击“确定”)
- 重复步骤1
- 从步骤2恢复未绑定的命令(我没有恢复切割,但我相信你会没事的)
请注意,这3个命令中的每一个都有2个绑定
- 解除复制和粘贴的二次函数(将ctl + c / ctl + v [复制/粘贴]绑定)
在这一点上,你应该只有2个绑定设置来执行复制/粘贴(即ctl + c / ctl + v)
- 点击应用 – >确定
这个解决scheme在这里find。
当新版本的ADT出现这个错误(这是强制性的修复和错误不应该经常出现的地方),只需使用Lint工具来修复它。
在Lint警告中find它,然后单击该Lint警告列表右上angular的黄色灯泡图标。
希望它会帮助别人
- 编写新的DialogPreference类的简洁方法?
- 设备上的sqlite数据库的位置
- Android Studio Gradle问题升级到版本0.5.0 – Gradle从0.8迁移到0.9 – Android Studio升级到0.8.1
- 是否可以在Google Play上更改Android应用的软件包名称?
- 如何检查Facebook是否安装了Android
- 如何:语音命令到Android应用程序
- Android ==>内存分析==> Eclipse内存分析器?
- 避免传递null作为视图根(需要parsing膨胀布局的根元素上的布局参数)
- 如何在Android中以定义的间隔运行一个Runnable线程?