于是我们从 File System Provider 这一拓展点入手 , 继承并覆盖了 Eclipse 默认处理 URI scheme 为 file 的文件系统 , 通过覆写其中的一些方法 , 让文件系统在处理元数据文件时 , 将文件路径重定向到项目路径之外的地方进行读写 。 相比于方案二 , 这一套方案的优点在于:
- 对其他模块完全透明, 基本不需要进行修改就能正常工作 , 这同时还意味着较好的 拓展性。
- 代码量很小, 最终的实现 , 算上 JavaDoc 和注释 , 一共只有 300 行左右 。
- 处理元数据文件时直接通过 JDK 中的文件 I/O API 进行读写: https://github.com/eclipse/buildship/issues/1111
- 变更请求: https://github.com/eclipse/buildship/pull/1114
文章图片
文章图片
在权衡了利弊之后 , 我们最终选取了第三套方案并解决了这一困扰了 VS Code Java 用户三年多时间的问题 。 虽然最终的实现并不复杂 , 但探寻答案的过程却非常具有戏剧性 。
最后特别感谢 Eclipse Platform 项目成员 Mickael Istria 以及 Alexander Fedorov 。 在问题讨论的过程中他们给予了非常有用的建议 , 对问题的解决起到了非常关键的作用 。
反馈与建议:
请积极使用我们的产品!您的反馈和建议对我们非常重要 , 并将帮助我们做得更好 。 有几种方法可以给我们留下反馈
- 填写中文问卷 https://www.research.net/r/vscodejava?lang=zh
- 在这个帖子下留言
- 在我们的GitHub repo上 创建Issue https://www.research.net/r/vscodejava?lang=zh
以下链接和资源能帮助您更好地了解Java on Visual Studio Code的相关信息
- 了解 更多 Visual Studio Code上Java 的更多信息 https://code.visualstudio.com/docs/languages/java
- 逐步探索 有关Visual Studio Code的Java教程 https://code.visualstudio.com/docs/java/java-tutorial
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
