DevFaqOpenFileAtLine

Revision as of 13:36, 16 June 2010 by Vstejskal (Talk | contribs)

How can I open a particular file at a particular line number?

Here is the basic idea (there are variations depending on your needs, so read the Javadoc):

File f = ...;
int lineNumber = ...;
FileObject fobj = FileUtil.toFileObject(f);
DataObject dobj = null;
try {
    dobj = DataObject.find(fobj);
} catch (DataObjectNotFoundException ex) {
    ex.printStackTrace();
}
if (dobj != null)
    LineCookie lc = (LineCookie) dobj .getCookie(LineCookie.class);
    if (lc == null) {/* cannot do it */ return;}
    Line l = lc.getLineSet().getOriginal(lineNumber);
    l.show(Line.SHOW_GOTO);
}

Applies to: NetBeans 5.x, 6.0, 6.1


For NetBeans 6.5 and later you should use something like:

File f = ...;
int lineNumber = ...;
FileObject fobj = FileUtil.toFileObject(f);
DataObject dobj = null;
try {
    dobj = DataObject.find(fobj);
} catch (DataObjectNotFoundException ex) {
    ex.printStackTrace();
}
if (dobj != null)
    LineCookie lc = (LineCookie) dobj .getCookie(LineCookie.class);
    if (lc == null) {/* cannot do it */ return;}
    Line l = lc.getLineSet().getOriginal(lineNumber);
    l.show(Line.ShowOpenType.OPEN, Line.ShowVisibilityType.FOCUS);
}

See the JavaDoc for Line.ShowOpenType and Line.ShowVisibilityType to see different options of showing the line (with focus, without focus, opening the editor if not open, etc.).

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo