1
我正在开发一个IntelliJ-IDEA插件。FileChooser仅适用于当前项目中的单个目录
我想使用他们的FileChooser
类来选择当前项目中的单个目录。
这是我到目前为止有:
public class MyAction extends AnAction {
public void actionPerformed(AnActionEvent actionEvent) {
com.intellij.openapi.project.Project project = actionEvent.getProject();
final DataContext dataContext = actionEvent.getDataContext();
assert project != null;
final PsiFile currentFile = DataKeys.PSI_FILE.getData(dataContext);
VirtualFile chooseFile = project.getBaseDir();
if (currentFile != null) {
chooseFile = currentFile.getVirtualFile();
}
FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
chooseFile = FileChooser.chooseFile(descriptor, project, chooseFile);
if (chooseFile == null) {
return;
}
... do stuff with the file
}
}
我想限制文件选择将仅在当前的IDEA项目显示文件。 FileChooser应该使其不可能选择其他任何东西,或者如果用户选择其他东西,则显示错误。有没有办法做到这一点?
我将不得不尝试这个!我确认它可以工作后我会回来。 – michaelsnowden