这是我的代码:
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
public class Main {
public static void main(String[] args) {
Project[] projects = ProjectManager.getInstance().getOpenProjects();
for(Project project: projects) {
System.out.println(project.getName());
}
}
}
当我运行这段代码时,我得到
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.application.Application.getComponent(java.lang.Class)" because the return value of "com.intellij.openapi.application.ApplicationManager.getApplication()" is null
at com.intellij.openapi.project.ProjectManager.getInstance(ProjectManager.java:36)
at Main.main(Main.java:6).
我想知道为什么以及如何获取所有开放项目。有人可以帮助我吗?
这些类 IntelliJ platofrm API,必须作为 IDEA 主进程中的插件运行,但不能作为简单的 HelloWorld Java 应用程序运行。换句话说,如果你使用
public static void main(String[] args) {
运行它,则根本没有 IDEA 运行,因此所有 API 都将返回 null。
有关如何创建 IntelliJ 插件的更多信息,请参阅 https://plugins.jetbrains.com/docs/intellij/creating-plugin-project.html。