|
16 | 16 | import java.util.Optional; |
17 | 17 | import java.util.concurrent.CompletableFuture; |
18 | 18 |
|
| 19 | +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; |
19 | 20 | import org.eclipse.core.runtime.preferences.IEclipsePreferences; |
20 | 21 | import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener; |
21 | 22 | import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent; |
|
33 | 34 |
|
34 | 35 | public class LSPLinkedEditingBase implements IPreferenceChangeListener { |
35 | 36 | public static final String LINKED_EDITING_PREFERENCE = "org.eclipse.ui.genericeditor.linkedediting"; //$NON-NLS-1$ |
| 37 | + private static final boolean LINKED_EDITING_ACTIVE_DEFAULT = true; |
36 | 38 |
|
37 | 39 | private @Nullable CompletableFuture<List<LinkedEditingRanges>> request; |
38 | 40 | protected boolean fEnabled; |
39 | 41 |
|
| 42 | + public static final class PreferenceInitializer extends AbstractPreferenceInitializer { |
| 43 | + @Override |
| 44 | + public void initializeDefaultPreferences() { |
| 45 | + final var store = LanguageServerPlugin.getDefault().getPreferenceStore(); |
| 46 | + store.setDefault(LINKED_EDITING_PREFERENCE, LINKED_EDITING_ACTIVE_DEFAULT); |
| 47 | + } |
| 48 | + } |
| 49 | + |
40 | 50 | protected void install() { |
41 | | - IEclipsePreferences preferences = InstanceScope.INSTANCE.getNode(LanguageServerPlugin.PLUGIN_ID); |
42 | | - preferences.addPreferenceChangeListener(this); |
43 | | - this.fEnabled = preferences.getBoolean(LINKED_EDITING_PREFERENCE, true); |
| 51 | + IEclipsePreferences instanceScopePreferences = InstanceScope.INSTANCE.getNode(LanguageServerPlugin.PLUGIN_ID); |
| 52 | + instanceScopePreferences.addPreferenceChangeListener(this); |
| 53 | + |
| 54 | + this.fEnabled = LanguageServerPlugin.getDefault().getPreferenceStore().getBoolean(LINKED_EDITING_PREFERENCE); |
44 | 55 | } |
45 | 56 |
|
46 | 57 | protected void uninstall() { |
|
0 commit comments