diff --git a/java/debugger/impl/resources/META-INF/java-debugger.xml b/java/debugger/impl/resources/META-INF/java-debugger.xml index 7213d8b0789e..964237540aa5 100644 --- a/java/debugger/impl/resources/META-INF/java-debugger.xml +++ b/java/debugger/impl/resources/META-INF/java-debugger.xml @@ -93,7 +93,7 @@ - + diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt b/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt index e8e8a3c45ea8..f62c0ae9d1b1 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt +++ b/java/debugger/impl/src/com/intellij/debugger/impl/hotswap/HotSwapDebugSessionListener.kt @@ -5,8 +5,11 @@ import com.intellij.debugger.engine.JavaDebugProcess import com.intellij.debugger.impl.DebuggerSession import com.intellij.debugger.ui.HotSwapStatusListener import com.intellij.openapi.Disposable +import com.intellij.openapi.components.Service import com.intellij.openapi.components.service +import com.intellij.openapi.components.serviceAsync import com.intellij.openapi.project.Project +import com.intellij.openapi.startup.ProjectActivity import com.intellij.openapi.util.Disposer import com.intellij.openapi.util.registry.Registry import com.intellij.util.asDisposable @@ -23,6 +26,13 @@ import java.util.concurrent.ConcurrentHashMap private data class JavaHotSwapSessionEntry(val hotSwapSession: HotSwapSession<*>, val disposable: Disposable) +private class HotSwapManagerInitActivity : ProjectActivity { + override suspend fun execute(project: Project) { + project.serviceAsync() + } +} + +@Service(Service.Level.PROJECT) internal class HotSwapDebugSessionManager(project: Project, cs: CoroutineScope) : XDebuggerManagerListener { private val sessions = ConcurrentHashMap()