Eclipse WTP平台HTML编辑器定制

发布于 2024-12-24 22:52:40 字数 1080 浏览 0 评论 0原文

在工作中,我得到了一个经过修改的 WTP HTML 编辑器。它是包“org.eclipse.jst.pagedesigner”。我们的编辑器有问题,修改它的人不再在这里工作了。我会尽力解释这个问题。

  1. 我们有带有 HTML 部分的 Xtext 文件。我们获取 Xtext 文件的该部分并将其显示在 HTML 编辑器中。
  2. HTML 编辑器具有三个选项卡:显示 html 预览和 html 代码的拆分窗口、仅显示预览的选项卡以及显示整个 Xtext 文件的选项卡。

我们想要的是修改任何这些不同视图中的 html,然后刷新其他视图。

当我从 Xtext 文件编辑 html 代码时,问题就出现了,因为它刷新了除拆分选项卡的 html 预览之外的所有视图。我必须关闭并重新打开文件才能看到更改。

我在 HTMLEditor 类中有这段代码。

public void doSave(IProgressMonitor monitor) {
        if(_textEditor.isDirty()){
            _textEditor.doSave(monitor);
            updateFile();
        }

    if(_eventEditor.isDirty()){
        _eventEditor.doSave(monitor);

        FileStoreEditorInput fileStore = null;
        try {
            fileStore = getFileStoreEditorInput(getEditorInput());
        } catch (Exception e) {
            e.printStackTrace();
        }
        _textEditor.setInput(fileStore);

    }
}

getFileStoreEditorInput 方法获取 Xtext 文件的 HTML 部分并将其设置为 _textEditor 对象,该对象引用拆分选项卡的 HTML 代码。

我不知道还能去哪里寻找,也不知道这是否是常识。

谢谢!

At work, it was given to me a modified WTP HTML Editor. It is the package "org.eclipse.jst.pagedesigner". We have a problem with the editor and the person that modified it does not work here anymore. I will try to explain the problem.

  1. We have Xtext files with an HTML section. We take that section of the Xtext file and show it in the HTML Editor.
  2. The HTML Editor has three tabs: the splitted window showing the html preview and the html code, a tab showing only the preview, and a tab showing the whole Xtext file.

What we want is to modify the html in any of those different views, and then, refresh the others.

The problem comes when I edit the html code from the Xtext file since it refresh all the views except the html preview of the splitted tab. I have to close and reopen de file to see the changes.

I have this code in the HTMLEditor class.

public void doSave(IProgressMonitor monitor) {
        if(_textEditor.isDirty()){
            _textEditor.doSave(monitor);
            updateFile();
        }

    if(_eventEditor.isDirty()){
        _eventEditor.doSave(monitor);

        FileStoreEditorInput fileStore = null;
        try {
            fileStore = getFileStoreEditorInput(getEditorInput());
        } catch (Exception e) {
            e.printStackTrace();
        }
        _textEditor.setInput(fileStore);

    }
}

The getFileStoreEditorInput method gets the HTML part of the Xtext file and sets it to the _textEditor objects, which refers to the HTML code of the splitted tab.

I don't know where else to look nor if this is of general knowledge.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文