我想以编程方式执行上述操作.
我看了如何在eclipse中获取光标位置TextEditor和Eclipse-plugin如何获取当前文本编辑器的corsor位置,所以我知道如何从当前的打开编辑器中获取光标偏移量.但是,我正在尝试在我以编程方式打开的新编辑器中设置光标偏移量.
我目前打开新编辑器的方式如下:
IWorkbenchWindow win = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = win.getActivePage();
if (page != null) {
IEditorPart editor = page.getActiveEditor();
if (editor != null) {
IEditorInput input = editor.getEditorInput();
if (input instanceof IFileEditorInput) {
String fileLocation = ((IFileEditorInput) input).getFile().getLocation().toOSString();
String newFileLocartion = generateNewFileLocation(fileLocation);
File file = new File(newFileLocartion);
IFileStore fileStore = EFS.getLocalFileSystem().getStore(file.toURI());
try {
IDE.openEditorOnFileStore(page, fileStore);
} catch (PartInitException e) {
// TODO error handling
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法打开设置新编辑器以特定偏移量打开(假设我已经提前知道了偏移量)?
谢谢!
我有以下课程:
public abstract class A()
{
public static final SomeString = null;
static()
{
SomeString = "aaa";
}
}
Run Code Online (Sandbox Code Playgroud)
何时调用此静态方法以及如何调用?
创建这样的静态方法(没有名称/返回类型)的目的是什么?
我在尝试解组 XML 时遇到了一个严重的问题。起初,成员元素的“值”属性中仅包含 Integer(如第一个 'EnumType' 元素),但是,现在另一个 'EnumType' 以字符串作为值出现 - 我得到了下面的 NullPointerException。
请注意,Member.java 中的“value”成员最初来自“int”类型(当仅接受 Integer 作为 Member 元素的值时)并且它工作正常。只有当我将它更改为 Object (我想这是我的问题的根源)时 - 出现以下异常。
XML:
<EnumType Name="Genre" UnderlyingType="Edm.Int32">
<Member Name="ACTION" Value="0"/>
<Member Name="COMEDY" Value="1"/>
</EnumType>
<EnumType Name="Rating" UnderlyingType="Edm.String">
<Member Name="RatingA" Value="G"/>
<Member Name="RatingB" Value="PG"/>
</EnumType>
Run Code Online (Sandbox Code Playgroud)
枚举类型
@XmlRootElement
public class EnumType {
@XmlElement(name = "Member", namespace = "http://schemas.microsoft.com/ado/2009/11/edm")
private List<Member> members = new LinkedList<Member>();
public List<Member> getMembers() {
return members;
}
}
Run Code Online (Sandbox Code Playgroud)
会员.Java
@XmlRootElement
public class Member {
@XmlAttribute(name = "Name")
private String name; …Run Code Online (Sandbox Code Playgroud)