From ca39ed7818aa905edc4e78e369f2c0ec5e5c68a4 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Fri, 13 Feb 2026 15:41:45 +0100 Subject: [PATCH] IJPL-207762 [command completion] sync command completion settings between FE and BE GitOrigin-RevId: 541af0cd34e8df639923ee031ab01a2514ef22c5 --- .../resources/intellij.platform.lang.impl.xml | 4 +++ .../ApplicationCommandCompletionService.kt | 26 +++++++++++++------ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/platform/lang-impl/resources/intellij.platform.lang.impl.xml b/platform/lang-impl/resources/intellij.platform.lang.impl.xml index 92d3cee39ace..a2c03272dfaf 100644 --- a/platform/lang-impl/resources/intellij.platform.lang.impl.xml +++ b/platform/lang-impl/resources/intellij.platform.lang.impl.xml @@ -74,5 +74,9 @@ + + + + \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/command/configuration/ApplicationCommandCompletionService.kt b/platform/lang-impl/src/com/intellij/codeInsight/completion/command/configuration/ApplicationCommandCompletionService.kt index 1c876d1a519a..67d57c1e24bc 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/command/configuration/ApplicationCommandCompletionService.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/command/configuration/ApplicationCommandCompletionService.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.codeInsight.completion.command.configuration import com.intellij.openapi.application.ApplicationManager @@ -8,6 +8,7 @@ import com.intellij.openapi.components.Service import com.intellij.openapi.components.SettingsCategory import com.intellij.openapi.components.State import com.intellij.openapi.components.Storage +import com.intellij.openapi.components.service import com.intellij.openapi.util.registry.Registry import com.intellij.util.PlatformUtils import org.jetbrains.annotations.ApiStatus @@ -17,16 +18,21 @@ import org.jetbrains.annotations.TestOnly /** * Service responsible for managing and persisting command completion settings at the application level. */ -@Service(Service.Level.APP) -@ApiStatus.Internal -@State(name = "CommandCompletion", category = SettingsCategory.UI, storages = [Storage("CommandCompletion.xml", roamingType = RoamingType.DISABLED)]) +@State( + name = "CommandCompletion", + category = SettingsCategory.UI, + storages = [ + Storage(value = "CommandCompletion.xml", roamingType = RoamingType.DEFAULT) + ] +) internal class ApplicationCommandCompletionService : PersistentStateComponent { - companion object { - internal fun getInstance(): ApplicationCommandCompletionService = ApplicationManager.getApplication().getService(ApplicationCommandCompletionService::class.java) + fun getInstance(): ApplicationCommandCompletionService = service() + + private fun initialState(): AppCommandCompletionSettings = AppCommandCompletionSettings() } - private var myState = AppCommandCompletionSettings() + private var myState = initialState() override fun getState(): AppCommandCompletionSettings = myState @@ -34,6 +40,10 @@ internal class ApplicationCommandCompletionService : PersistentStateComponent() } fun commandCompletionEnabled(): Boolean {