1

我正在尝试制作一个 Netbeans 7.2 代码完成模块。我试图让这个代码完成只显示 PHP。我也试图让代码完成只显示特定的方法/功能,即x()z().

我对此很陌生。我按照本教程http://platform.netbeans.org/tutorials/nbm-code-completion.html简要了解了 API。

如何确定代码完成正在呈现的方法/功能?

如果您需要更多信息,请告诉我。

编辑

我正在尝试使代码完成位于函数的第一个参数上,x()并且z()

更新

这是我迄今为止所拥有的:

return new AsyncCompletionTask(new AsyncCompletionQuery() {
    protected void query(CompletionResultSet completionResultSet, Document document, int caretOffset) {

        String filter = null;
        int startOffset = caretOffset - 1;

        try {
            final StyledDocument bDoc = (StyledDocument) document;
            final int lineStartOffset = getRowFirstNonWhite(bDoc, caretOffset);
            final char[] line = bDoc.getText(lineStartOffset, caretOffset - lineStartOffset).toCharArray();
            final int whiteOffset = indexOfWhite(line);
            filter = new String(line, whiteOffset + 1, line.length - whiteOffset - 1);
            if (whiteOffset > 0) {
                startOffset = lineStartOffset + whiteOffset + 1;
            } else {
                startOffset = lineStartOffset;
            }
        } catch (BadLocationException ex) {
            Exceptions.printStackTrace(ex);
        }

        if(filter.startsWith("x('") || filter.startsWith("z('"))
        {
            // This is what I would assume is the first param.
            String result = filter.replaceFirst("x('|z('", "");
        }
    }
}, jtc);
4

0 回答 0