2
我目前在Netbeans中創建項目類型。我遵循基本教程,但添加了一些東西。忽略項目結構中的某些文件(自定義項目類型)
這是邏輯視圖
public org.openide.nodes.Node createLogicalView() {
FileObject root = project.getProjectDirectory();
DataFolder findFolder = DataFolder.findFolder(root);
Node node = findFolder.getNodeDelegate();
return new TextNode(node, project);
}
基本上根是項目文件夾。
這是我的過濾器節點。
private static final class TextNode extends FilterNode {
final NodeJSProject project;
public TextNode(Node node, NodeJSProject project) {
super(node, new NodeJSProjectNode(node),
new ProxyLookup(new Lookup[]{
Lookups.singleton(project),
node.getLookup()
}));
this.project = project;
}
而且我對過濾器節點自定義替代。
public static class NodeJSProjectNode extends FilterNode.Children {
public NodeJSProjectNode(Node node) {
super(node);
}
@Override
protected Node[] createNodes(Node key) {
//key.getName() only returning root objects. No children
if (key.getName().startsWith(".")) {
return new Node[]{};
}
return new Node[]{ copyNode(key) };
}
}
基本上我試圖忽視隱藏的文件。我以爲這是由IDE完成的,但我猜不是。我目前的代碼適用於根目錄。它不會添加.DS_Store,.git等。我試圖忽略子目錄中的所有文件夾/文件。我不確定這是如何使用createNodes方法完成的。似乎要進入的唯一關鍵是根節點/文件。