현재 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 메서드를 사용하여이 작업을 수행하는 방법을 잘 모르겠습니다. 들어오는 것처럼 보이는 유일한 열쇠는 루트 노드/파일입니다.