嗨,我正在做一个eclipse插件项目来创建一个IDE。在我的IDE中, 检查当前打开的编辑器是否有特定的字符串 由在侧面的文本框中输入的字符串替换 视图。我能够访问编辑器,但如果我搜索特定的 string并将该字符串替换为用户输入的输入 没有用。
IDocumentProvider provider=((AbstractTextEditor) ieditorpart).getDocumentProvid();
IDocument doc = provider.getDocument(ieditorpart.getEditorInput());
String content = doc.get();
pos=content.compareTo("\\/\\*ProbeEnd\\*\\/");
doc.replace(pos,5, "hello");
但这不起作用......我刚刚给出了替代品 string为hello,但该值应取自文本框..
访问编辑器有什么错误吗?我应该用这个吗? 这样做的方法还是有任何方法来实现这一点?能够 有人帮我这么做吗?
答案 0 :(得分:1)
为什么变量'pos'是compareTo-Value(-1,0,1)? compareTo返回两个字符串的词典顺序。
IDocument的替换方法有三个参数:
示例:
String oldContent = doc.get();
assert oldContent.equals("TestingText");
String replaceText = "REPLACE";
doc.replace(5,3,replaceText);
String newContent = doc.get();
assert newContent.equals("TestiREPLACEext");
//offset 5 is the position after 'Testi'
//length 3 means 'ngT' (starting from the offset) should be replaced
//REPLACE is the newText
答案 1 :(得分:0)
从编辑器中调用firePropertyChange(IEditorPart.PROP_INPUT)。