比如输出一个Hello world
?
<project-components>
<component>
<implementation-class>com.thoughtworks.pli.intellij.remotepair.RemotePairProjectComponent</implementation-class>
</component>
</project-components>
package com.thoughtworks.pli.intellij.remotepair
import com.intellij.openapi.fileEditor.FileEditorManager
import com.intellij.openapi.fileEditor.FileEditorManagerAdapter
import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.annotations.NotNull
import com.intellij.util.messages.MessageBusConnection
import com.intellij.openapi.fileEditor.FileEditorManagerListener
import com.intellij.openapi.components.ProjectComponent
import com.intellij.openapi.project.Project
class RemotePairProjectComponent(project: Project) extends ProjectComponent {
override def initComponent() {
System.out.println("##### RemotePairProjectComponent.initComponent")
System.out.println("## project: " + project)
}
override def disposeComponent() {
}
override def getComponentName: String = "RemotePairProjectComponent"
override def projectOpened() {
System.out.println("########## projectOpened: Hello world!")
}
override def projectClosed() {
}
}
运行该插件,在打开的新idea中,打开一个新项目,则会在console中输出:
## project: Project '/Users/freewind/IdeaProjects/test' test
########## projectOpened