Eclipse WTP平台HTML编辑器定制
在工作中,我得到了一个经过修改的 WTP HTML 编辑器。它是包“org.eclipse.jst.pagedesigner”。我们的编辑器有问题,修改它的人不再在这里工作了。我会尽力解释这个问题。
- 我们有带有 HTML 部分的 Xtext 文件。我们获取 Xtext 文件的该部分并将其显示在 HTML 编辑器中。
- 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.
- We have Xtext files with an HTML section. We take that section of the Xtext file and show it in the HTML Editor.
- 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论