文件视图提供者

2017-01-08  本文已影响47人  pr488

原文链接:
http://www.jetbrains.org/intellij/sdk/docs/basics/architectural_overview/file_view_providers.html

文件视图提供者(查看FileViewProvider类)是在IntelliJ IDEA 6.0引入的。它的主要目的是为了管理单个文件多个PSI树的访问。

例如,一个JSPX页面有单独的Java代码(PsiJavaFile)的PSI树, 有单独的XML代码(XmlFile)的PSI树和单独的作为JspFile文件的PSI树。

每个PSI树都覆盖文件的整个内容,并且在有不同语言的内容的位置包含特殊的“外部语言元素”。

一个FileViewProvider实例对应单个VirtualFile、单个Document并且可以用来检索多个PsiFile实例。

我怎样得到一个FVP?

我能用它来做什么?

我怎样扩展FVP?

要创建一个拥有多种不同语言的文件类型,你的插件必须包含一个*IntelliJ平台 *核心可用的fileType.fileViewProviderFactory扩展点的扩展。

这个扩展点是使用FileTypeExtensionPointbean类声明的。

访问这个扩展点需要新建一个实现FileViewProviderFactory接口的Java类并在这个类中重写createFileViewProvider方法。

要声明fileType.fileViewProviderFactory扩展点的扩展,在plugin.xml文件中的<extensions>部分使用以下语法:

<extensions>
  <fileType.fileViewProviderFactory filetype="%file_type%" implementationClass="%class_name%" />
</extensions>

其中%file_type%指要创建的文件类型(例如"JFS"),%class_name%指实现FileViewProviderFactory接口的类名。

上一篇下一篇

猜你喜欢

热点阅读