diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/plugin.xml b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/plugin.xml index 920c98636..a06266dac 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/plugin.xml +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/plugin.xml @@ -234,18 +234,12 @@ - - + name="Boot Dashboard"> diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/ngrok/NGROKInstallPreferencePage.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/ngrok/NGROKInstallPreferencePage.java deleted file mode 100644 index e68867975..000000000 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/ngrok/NGROKInstallPreferencePage.java +++ /dev/null @@ -1,155 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Pivotal Software, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Pivotal Software, Inc. - initial API and implementation - *******************************************************************************/ -package org.springframework.ide.eclipse.boot.dash.ngrok; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.swt.custom.BusyIndicator; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.springframework.ide.eclipse.boot.core.BootActivator; -import org.springframework.ide.eclipse.boot.util.SWTFactory; -import org.springsource.ide.eclipse.commons.frameworks.core.ExceptionUtil; - -/** - * @author Christian Dupuis - * @author Steffen Pingel - * @author Kris De Volder - */ -public class NGROKInstallPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { - - private static final String NGROK_DIALOGSETTINGS = "org.springframework.ide.eclipse.boot.dash.ngrok.dialogsettings"; - - private NGROKInstallBlock ngrokBlock; - private NGROKInstallManager installManager; - - public NGROKInstallPreferencePage() { - super("ngrok installation"); - } - - public void init(IWorkbench workbench) { - try { - installManager = NGROKInstallManager.getInstance(); - } catch (Exception e) { - throw ExceptionUtil.unchecked(e); - } - } - - @Override - public boolean isValid() { -// if (super.isValid()) { -// if (getCurrentDefaultVM() == null && fJREBlock.getJREs().length > 0) { -// setErrorMessage("Select a default Boot installation"); -// return false; -// } -// } - return true; - } - - private String getCurrentDefaultNGROK() { - return ngrokBlock.getCheckedNGROK(); - } - - @Override - public boolean performOk() { - final boolean[] canceled = new boolean[] { false }; - BusyIndicator.showWhile(null, new Runnable() { - public void run() { - Set newInstalls = new LinkedHashSet(); - String defaultNgrok = getCurrentDefaultNGROK(); - String[] ngroks = ngrokBlock.getNGROKs(); - for (String ngrok : ngroks) { - try { - newInstalls.add(ngrok); - } catch (Exception e) { - BootActivator.log(e); - } - } - - installManager.setDefaultInstall(defaultNgrok); - installManager.setInstalls(newInstalls); - installManager.save(); - } - }); - - if (canceled[0]) { - return false; - } - - // save column widths - IDialogSettings settings = BootActivator.getDefault().getDialogSettings(); - ngrokBlock.saveColumnSettings(settings, NGROK_DIALOGSETTINGS); - - return super.performOk(); - } - - @Override - protected Control createContents(Composite ancestor) { - initializeDialogUnits(ancestor); - - noDefaultAndApplyButton(); - - GridLayout layout = new GridLayout(); - layout.numColumns = 1; - layout.marginHeight = 0; - layout.marginWidth = 0; - ancestor.setLayout(layout); - - SWTFactory - .createWrapLabel( - ancestor, - "Add, edit or remove ngrok installations. By default the checked ngrok installation will be used to expose apps", - 1, 300); - SWTFactory.createVerticalSpacer(ancestor, 1); - - ngrokBlock = new NGROKInstallBlock(installManager); - ngrokBlock.createControl(ancestor); - ngrokBlock.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - isValid(); - } - }); - - Control control = ngrokBlock.getControl(); - GridData data = new GridData(GridData.FILL_BOTH); - data.horizontalSpan = 1; - control.setLayoutData(data); - - ngrokBlock.restoreColumnSettings(BootActivator.getDefault().getDialogSettings(), - NGROK_DIALOGSETTINGS); - - ngrokBlock.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - setValid(false); - - String install = getCurrentDefaultNGROK(); - if (install == null) { - setErrorMessage("Select a default ngrok installation"); - } - else { - setErrorMessage(null); - setValid(true); - } - } - }); - applyDialogFont(ancestor); - return ancestor; - } -} diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/prefs/BootDashPrefsPage.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/prefs/BootDashPrefsPage.java index 9aed73ee0..2b3499e8f 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/prefs/BootDashPrefsPage.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash/src/org/springframework/ide/eclipse/boot/dash/prefs/BootDashPrefsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2020, 2022 Pivotal, Inc. + * Copyright (c) 2020, 2023 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,14 +10,19 @@ *******************************************************************************/ package org.springframework.ide.eclipse.boot.dash.prefs; +import static org.springframework.ide.eclipse.boot.core.BootPreferences.PREF_BOOT_PROJECT_EXCLUDE; + import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.StringFieldEditor; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; +import org.springframework.ide.eclipse.boot.core.BootActivator; import org.springframework.ide.eclipse.boot.dash.BootDashActivator; import org.springframework.ide.eclipse.boot.dash.api.RunTargetType; import org.springframework.ide.eclipse.boot.dash.views.DeleteElementsAction; +import org.springframework.ide.eclipse.boot.ui.preferences.RegExpFieldEditor; /** * @author Kris De Volder @@ -36,7 +41,14 @@ public class BootDashPrefsPage extends FieldEditorPreferencePage implements IWor @Override protected void createFieldEditors() { Composite parent = getFieldEditorParent(); - for (RunTargetType rtt : BootDashActivator.getDefault().getModel().getRunTargetTypes()) { + + StringFieldEditor projectExclude = new RegExpFieldEditor(PREF_BOOT_PROJECT_EXCLUDE, "Exclude Projects", parent); + setTooltip(parent, projectExclude, "Any project who's name matches this regexp will NOT be treated as a Spring Boot App"); + projectExclude.setPreferenceStore(BootActivator.getDefault().getPreferenceStore()); + addField(projectExclude); + + + for (RunTargetType rtt : BootDashActivator.getDefault().getModel().getRunTargetTypes()) { if (rtt.supportsDeletion()) { addField(new BooleanFieldEditor(DeleteElementsAction.PREF_SKIP_CONFIRM_DELETE(rtt), "Skip Delete Element Confirmation ("+rtt.getName()+")", parent)); } @@ -48,10 +60,10 @@ public class BootDashPrefsPage extends FieldEditorPreferencePage implements IWor // // Do nothing. Page offers one column grid layout. Group controls layout fields appropriately. // } -// private void setTooltip(Composite parent, StringFieldEditor fe, String tooltip) { -// fe.getLabelControl(parent).setToolTipText(tooltip); -// fe.getTextControl(parent).setToolTipText(tooltip); -// } + private void setTooltip(Composite parent, StringFieldEditor fe, String tooltip) { + fe.getLabelControl(parent).setToolTipText(tooltip); + fe.getTextControl(parent).setToolTipText(tooltip); + } // // private void setTooltip(Composite parent, BooleanFieldEditor2 fe, String tooltip) { // fe.getChangeControl(parent).setToolTipText(tooltip); diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/plugin.xml b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/plugin.xml index 702370714..37a362229 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/plugin.xml +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/plugin.xml @@ -40,10 +40,10 @@ + name="Configuration Processing" + category="org.springframework.tooling.boot.validation" + class="org.springframework.ide.eclipse.boot.validation.preferences.ConfigProcessingPreferencesPage" + id="org.springframework.ide.eclipse.boot.validation.preferences.ConfigurationProcessingPreferencesPage"> diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/framework/SpringBootProjectBuilder.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/framework/SpringBootProjectBuilder.java index 650de3949..e49dd338d 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/framework/SpringBootProjectBuilder.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/framework/SpringBootProjectBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012,2015 Spring IDE Developers + * Copyright (c) 2012, 2023 Spring IDE Developers * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.SubProgressMonitor; import org.springframework.ide.eclipse.boot.core.BootPropertyTester; import org.springframework.ide.eclipse.boot.validation.BootValidationActivator; -import org.springframework.ide.eclipse.boot.validation.preferences.BootValidationPreferencesPage; +import org.springframework.ide.eclipse.boot.validation.preferences.ConfigProcessingPreferencesPage; import org.springframework.ide.eclipse.boot.validation.rules.ValidationRuleDefinitions; import org.springframework.ide.eclipse.editor.support.preferences.EditorType; import org.springframework.ide.eclipse.editor.support.preferences.PreferencesBasedSeverityProvider; @@ -112,7 +112,7 @@ public class SpringBootProjectBuilder extends IncrementalProjectBuilder { } private IValidationContext validationContext(IResource rsrc, IValidationRule rule) { - SeverityProvider severityProvider = new PreferencesBasedSeverityProvider(BootValidationPreferencesPage.util, rsrc.getProject(), BootValidationActivator.PLUGIN_ID, EditorType.JAVA); + SeverityProvider severityProvider = new PreferencesBasedSeverityProvider(ConfigProcessingPreferencesPage.util, rsrc.getProject(), BootValidationActivator.PLUGIN_ID, EditorType.JAVA); return (IResource cu, ProblemType problemId, String msg, int offset, int end) -> { ProblemSeverity severity = severityProvider.getSeverity(problemId); if (severity==ProblemSeverity.IGNORE) { diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/BootValidationProjectPropertyPage.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/BootValidationProjectPropertyPage.java index 942efb326..78b862af8 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/BootValidationProjectPropertyPage.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/BootValidationProjectPropertyPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2015 Pivotal, Inc. + * Copyright (c) 2015, 2023 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -24,7 +24,7 @@ import org.springframework.ide.eclipse.editor.support.reconcile.ProblemType; public class BootValidationProjectPropertyPage extends AbstractProblemSeverityPreferencesPage { public BootValidationProjectPropertyPage() { - super(BootValidationPreferencesPage.util); + super(ConfigProcessingPreferencesPage.util); } protected List getProblemTypes() { @@ -33,7 +33,7 @@ public class BootValidationProjectPropertyPage extends AbstractProblemSeverityPr @Override protected String getEnableProjectPreferencesKey() { - return BootValidationPreferencesPage.util.ENABLE_PROJECT_PREFERENCES(EditorType.JAVA); + return ConfigProcessingPreferencesPage.util.ENABLE_PROJECT_PREFERENCES(EditorType.JAVA); } @Override diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/BootValidationPreferencesPage.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/ConfigProcessingPreferencesPage.java similarity index 87% rename from eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/BootValidationPreferencesPage.java rename to eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/ConfigProcessingPreferencesPage.java index 667bbf570..768a3c6d5 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/BootValidationPreferencesPage.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.validation/src/org/springframework/ide/eclipse/boot/validation/preferences/ConfigProcessingPreferencesPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017 Spring IDE Developers + * Copyright (c) 2017, 2023 Spring IDE Developers * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,7 +12,6 @@ package org.springframework.ide.eclipse.boot.validation.preferences; import java.util.List; -import org.eclipse.ui.plugin.AbstractUIPlugin; import org.springframework.ide.eclipse.boot.validation.BootValidationActivator; import org.springframework.ide.eclipse.boot.validation.rules.BootValidationProblemType; import org.springframework.ide.eclipse.editor.support.preferences.AbstractProblemSeverityPreferencesPage; @@ -23,11 +22,11 @@ import org.springframework.ide.eclipse.editor.support.reconcile.ProblemType; /** * @author Kris De Volder */ -public class BootValidationPreferencesPage extends AbstractProblemSeverityPreferencesPage { +public class ConfigProcessingPreferencesPage extends AbstractProblemSeverityPreferencesPage { public static final ProblemSeverityPreferencesUtil util = new ProblemSeverityPreferencesUtil("boot.project.validation.builder."); - public BootValidationPreferencesPage() { + public ConfigProcessingPreferencesPage() { super(util); } diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot/META-INF/MANIFEST.MF b/eclipse-extensions/org.springframework.ide.eclipse.boot/META-INF/MANIFEST.MF index d1dc83806..b8fda7c05 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot/META-INF/MANIFEST.MF +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot/META-INF/MANIFEST.MF @@ -47,6 +47,7 @@ Export-Package: org.springframework.ide.eclipse.boot.core, org.springframework.ide.eclipse.boot.core.initializr, org.springframework.ide.eclipse.boot.core.internal, org.springframework.ide.eclipse.boot.ui, + org.springframework.ide.eclipse.boot.ui.preferences, org.springframework.ide.eclipse.boot.util, org.springframework.ide.eclipse.boot.util.version Import-Package: org.apache.commons.lang;version="2.6.0", diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot/plugin.xml b/eclipse-extensions/org.springframework.ide.eclipse.boot/plugin.xml index 35b30cc45..c333614fe 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot/plugin.xml +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot/plugin.xml @@ -30,25 +30,23 @@ category="org.springsource.ide.eclipse.commons.preferencePage" class="org.springframework.ide.eclipse.boot.ui.preferences.BootPreferencePage" id="org.springframework.ide.eclipse.boot.ui.preferences.BootPreferencePage" - name="Boot"> - - - - - + name="Boot Launch Support"> + name="Initializr Integration - start.spring.io"> + + + + category="org.springframework.tooling.boot.xml.ls.preferences"> diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml b/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml index fa588014b..8e099e96d 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/plugin.xml @@ -175,7 +175,7 @@ @@ -184,10 +184,10 @@ category="org.springsource.ide.eclipse.commons.preferencePage" class="org.springframework.tooling.boot.ls.XmlConfigPreferencePage" id="org.springframework.tooling.boot.xml.ls.preferences" - name="Spring XML Config"> + name="XML Config Files"> @@ -209,6 +209,18 @@ id="org.springframework.tooling.boot.ls.rewrite.load" name="Plug Recipes"> + + + + @@ -216,7 +228,7 @@ + class="org.springframework.tooling.boot.ls.prefs.PrefsInitializer"> diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPlugin.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPlugin.java index b6b383afe..bd45246f0 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPlugin.java +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootLanguageServerPlugin.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017, 2022 Pivotal, Inc. + * Copyright (c) 2017, 2023 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -22,6 +22,7 @@ import org.eclipse.ui.keys.IBindingService; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; import org.springframework.tooling.boot.ls.prefs.CategoryProblemsSeverityPrefsPage; +import org.springframework.tooling.boot.ls.prefs.LiveInformationPreferencePage; /** * Boot-Java LS extension plugin @@ -53,7 +54,7 @@ public class BootLanguageServerPlugin extends AbstractUIPlugin { plugin = this; super.start(context); deactivateDuplicateKeybindings(); - BootJavaPreferencesPage.manageCodeMiningPreferences(); + LiveInformationPreferencePage.manageCodeMiningPreferences(); CategoryProblemsSeverityPrefsPage.loadProblemCategoriesIntoPreferences(); } diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/BootJavaPreferencesPage.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/BootJavaPreferencesPage.java new file mode 100644 index 000000000..78cf8fe14 --- /dev/null +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/BootJavaPreferencesPage.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2017, 2023 Pivotal, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Pivotal, Inc. - initial API and implementation + *******************************************************************************/ +package org.springframework.tooling.boot.ls.prefs; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; +import org.springframework.tooling.boot.ls.BootLanguageServerPlugin; +import org.springframework.tooling.boot.ls.Constants; + +/** + * Preference page for Boot-Java LS extension + * + * @author Alex Boyko + * + */ +public class BootJavaPreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { + + @Override + public void init(IWorkbench workbench) { + setPreferenceStore(BootLanguageServerPlugin.getDefault().getPreferenceStore()); + } + + @Override + protected void createFieldEditors() { + Composite fieldEditorParent = getFieldEditorParent(); + + addField(new BooleanFieldEditor(Constants.PREF_START_LS_EARLY, "Start Language Server at startup if Spring Boot is a dependency", fieldEditorParent)); + addField(new BooleanFieldEditor(Constants.PREF_SCAN_JAVA_TEST_SOURCES, "Scan Java test sources", fieldEditorParent)); + + addField(new BooleanFieldEditor(Constants.PREF_CHANGE_DETECTION, "Live Boot Change Detection", fieldEditorParent)); + + } + +} diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/CategoryProblemsSeverityPrefsPage.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/CategoryProblemsSeverityPrefsPage.java index 830fecb45..a054eb85b 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/CategoryProblemsSeverityPrefsPage.java +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/CategoryProblemsSeverityPrefsPage.java @@ -108,7 +108,7 @@ public class CategoryProblemsSeverityPrefsPage extends ProblemSeverityPreferityP //use workbenches's preference manager PreferenceManager pm= PlatformUI.getWorkbench().getPreferenceManager(); - pm.addTo("org.springsource.ide.eclipse.commons.preferencePage", node); //add the node in the PreferenceManager + pm.addTo("org.springsource.ide.eclipse.commons.preferencePage/org.springframework.tooling.boot.validation", node); //add the node in the PreferenceManager } ALL_PROBLEM_CATEGORIES = ImmutableList.copyOf(categories); diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootJavaPreferencesPage.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/LiveInformationPreferencePage.java similarity index 81% rename from eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootJavaPreferencesPage.java rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/LiveInformationPreferencePage.java index 89349737c..c55eda901 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/BootJavaPreferencesPage.java +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/LiveInformationPreferencePage.java @@ -1,14 +1,14 @@ /******************************************************************************* - * Copyright (c) 2017, 2022 Pivotal, Inc. + * Copyright (c) 2023 VMware, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Pivotal, Inc. - initial API and implementation + * VMware, Inc. - initial API and implementation *******************************************************************************/ -package org.springframework.tooling.boot.ls; +package org.springframework.tooling.boot.ls.prefs; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.InstanceScope; @@ -21,17 +21,13 @@ import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; +import org.springframework.tooling.boot.ls.BootLanguageServerPlugin; +import org.springframework.tooling.boot.ls.Constants; import org.springframework.tooling.ls.eclipse.commons.LanguageServerCommonsActivator; import org.springframework.tooling.ls.eclipse.commons.preferences.PreferenceConstants; -/** - * Preference page for Boot-Java LS extension - * - * @author Alex Boyko - * - */ -public class BootJavaPreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - +public class LiveInformationPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { + /** * Starts a preference change listener that keeps code mining preferences in sync with * whether or not STS4 codelenses are enabled. @@ -70,6 +66,10 @@ public class BootJavaPreferencesPage extends FieldEditorPreferencePage implement } } + + public LiveInformationPreferencePage() { + } + @Override public void init(IWorkbench workbench) { setPreferenceStore(BootLanguageServerPlugin.getDefault().getPreferenceStore()); @@ -80,10 +80,7 @@ public class BootJavaPreferencesPage extends FieldEditorPreferencePage implement final IPreferenceStore commonsLsPrefs = LanguageServerCommonsActivator.getInstance().getPreferenceStore(); Composite fieldEditorParent = getFieldEditorParent(); - - addField(new BooleanFieldEditor(Constants.PREF_START_LS_EARLY, "Start Language Server at startup if Spring Boot is a dependency", fieldEditorParent)); - addField(new BooleanFieldEditor(Constants.PREF_SCAN_JAVA_TEST_SOURCES, "Scan Java test sources", fieldEditorParent)); - + addField(new StringFieldEditor(Constants.PREF_LIVE_INFORMATION_FETCH_DATA_RETRY_MAX_NO, "Live Information - Max number of retries (before giving up)", fieldEditorParent)); addField(new StringFieldEditor(Constants.PREF_LIVE_INFORMATION_FETCH_DATA_RETRY_DELAY_IN_SECONDS, "Live Information - Delay between retries in seconds", fieldEditorParent)); @@ -93,9 +90,6 @@ public class BootJavaPreferencesPage extends FieldEditorPreferencePage implement return commonsLsPrefs; } }); - addField(new BooleanFieldEditor(Constants.PREF_CHANGE_DETECTION, "Live Boot Change Detection", fieldEditorParent)); - - addField(new BooleanFieldEditor(Constants.PREF_VALIDATION_SPEL_EXPRESSIONS, "SpEL Expression Syntax Validation", fieldEditorParent)); } diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/PrefsInitializer.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/PrefsInitializer.java similarity index 92% rename from eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/PrefsInitializer.java rename to eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/PrefsInitializer.java index 129e1806d..ea12ded58 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/PrefsInitializer.java +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/PrefsInitializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017, 2022 Pivotal, Inc. + * Copyright (c) 2017, 2023 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,11 +8,12 @@ * Contributors: * Pivotal, Inc. - initial API and implementation *******************************************************************************/ -package org.springframework.tooling.boot.ls; +package org.springframework.tooling.boot.ls.prefs; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.jface.preference.IPreferenceStore; -import org.springframework.tooling.boot.ls.prefs.StringListEditor; +import org.springframework.tooling.boot.ls.BootLanguageServerPlugin; +import org.springframework.tooling.boot.ls.Constants; /** * Preferences initializer for Boot-Java LS extension diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/ValidationPreferencePage.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/ValidationPreferencePage.java new file mode 100644 index 000000000..caa398f11 --- /dev/null +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/ValidationPreferencePage.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2023 VMware, Inc. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VMware, Inc. - initial API and implementation + *******************************************************************************/ +package org.springframework.tooling.boot.ls.prefs; + +import org.eclipse.jface.preference.PreferencePage; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class ValidationPreferencePage extends PreferencePage implements IWorkbenchPreferencePage { + + public ValidationPreferencePage() { + } + + public ValidationPreferencePage(String title) { + super(title); + } + + public ValidationPreferencePage(String title, ImageDescriptor image) { + super(title, image); + } + + @Override + public void init(IWorkbench workbench) { + } + + @Override + protected Control createContents(Composite parent) { + return null; + } + + @Override + public void createControl(Composite parent) { + Composite content = new Composite(parent, SWT.NONE); + setControl(content); + } + +} diff --git a/eclipse-language-servers/org.springsource.ide.eclipse.commons.ui/plugin.xml b/eclipse-language-servers/org.springsource.ide.eclipse.commons.ui/plugin.xml index c01b8cbee..f73f3cd4b 100644 --- a/eclipse-language-servers/org.springsource.ide.eclipse.commons.ui/plugin.xml +++ b/eclipse-language-servers/org.springsource.ide.eclipse.commons.ui/plugin.xml @@ -4,18 +4,6 @@ - - - - - - diff --git a/eclipse-language-servers/org.springsource.ide.eclipse.commons.ui/src/org/springsource/ide/eclipse/commons/ui/PreferencesCurator.java b/eclipse-language-servers/org.springsource.ide.eclipse.commons.ui/src/org/springsource/ide/eclipse/commons/ui/PreferencesCurator.java deleted file mode 100644 index cfa464404..000000000 --- a/eclipse-language-servers/org.springsource.ide.eclipse.commons.ui/src/org/springsource/ide/eclipse/commons/ui/PreferencesCurator.java +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 Pivotal Software, Inc. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Pivotal Software, Inc. - initial API and implementation - *******************************************************************************/ -package org.springsource.ide.eclipse.commons.ui; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.preference.PreferencePage; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; -import org.eclipse.ui.dialogs.PreferenceLinkArea; -import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; -import org.springsource.ide.eclipse.commons.core.preferences.GlobalPreferenceEnhancer; - -/** - * This preferences page provides a shortcut for setting a group of preferences - * that we believe make Eclipse more awesome - * - * @author Andrew Eisenberg - * @since 3.3.0 - */ -public class PreferencesCurator extends PreferencePage implements IWorkbenchPreferencePage { - - public final static String PREF_DIALOG_ID = "org.springsource.ide.eclipse.commons.curatorPreferencesPage"; - - public PreferencesCurator() { - super("Global Preferences Curator"); - } - - public void init(IWorkbench workbench) { - noDefaultAndApplyButton(); - setDescription("Sets/unsets a bunch of preferences that makes Eclipse more awesome"); - } - - @Override - protected Control createContents(Composite parent) { - Composite contents = new Composite(parent, SWT.NONE); - contents.setLayout(new GridLayout(1, true)); - - Label desc = new Label(contents, SWT.WRAP); - desc.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - desc.setText("We have scoured the Eclipse preferences pages and determined a handful of preferences\n" - + "that are not set in an optimal way. Do you trust us?"); - - Composite allComposite = new Composite(contents, SWT.BORDER); - allComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - allComposite.setLayout(new GridLayout(1, false)); - Label label = new Label(allComposite, SWT.NONE); - label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - label.setText("Set/Reset all curated preferences."); - label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT)); - Button allSetButton = new Button(allComposite, SWT.PUSH); - allSetButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - allSetButton.setText("Set all preferences"); - allSetButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - new GlobalPreferenceEnhancer().enhanceAllPreferences(); - } - }); - Button allUnsetButton = new Button(allComposite, SWT.PUSH); - allUnsetButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - allUnsetButton.setText("Reset all preferences"); - allUnsetButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - new GlobalPreferenceEnhancer().undoAll(); - } - }); - - Composite jdtComposite = new Composite(contents, SWT.BORDER); - jdtComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - jdtComposite.setLayout(new GridLayout(1, false)); - Label jdtLabel = new Label(jdtComposite, SWT.NONE); - jdtLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - jdtLabel.setText("JDT preferences"); - jdtLabel.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT)); - Label jdtLabelExplanation = new Label(jdtComposite, SWT.NONE); - jdtLabelExplanation.setLayoutData(new GridData(SWT.BEGINNING, SWT.LEFT, false, false)); - jdtLabelExplanation.setText("We set the following JDT preferences:\n" + "* Editor smart paste (true)\n" - + "* Editor smart semicolon placement (true)\n" + "* Editor smart opening brace placement (true)\n" - + "* Editor smart backspace (true)\n" + "* Editor smart tab (true)\n" - + "* Escape text when pasting into a string literal (true)\n" - + "* Auto activation delay (40 ms)\n"); -// + "* Auto activation triggers for Java (._abcdefghijklmnopqrstuvwxyz)\n"); - Button jdtSetButton = new Button(jdtComposite, SWT.PUSH); - jdtSetButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - jdtSetButton.setText("Set JDT preferences only"); - jdtSetButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - new GlobalPreferenceEnhancer().enhanceJDTPreferences(); - } - }); - Button jdtUnsetButton = new Button(jdtComposite, SWT.PUSH); - jdtUnsetButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - jdtUnsetButton.setText("Reset JDT preferences only"); - jdtUnsetButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - new GlobalPreferenceEnhancer().undoJDTEnhance(); - } - }); - PreferenceLinkArea jdtEditorArea = new PreferenceLinkArea(jdtComposite, SWT.WRAP, - "org.eclipse.jdt.ui.preferences.SmartTypingPreferencePage", - "Go to the JDT smart typing preferences page", (IWorkbenchPreferenceContainer) getContainer(), - null); - GridData data = new GridData(SWT.FILL, SWT.CENTER, false, false); - jdtEditorArea.getControl().setLayoutData(data); - PreferenceLinkArea jdtContentAssistArea = new PreferenceLinkArea(jdtComposite, SWT.WRAP, - "org.eclipse.jdt.ui.preferences.CodeAssistPreferencePage", - "Go to the JDT content assist preferences page", (IWorkbenchPreferenceContainer) getContainer(), - null); - data = new GridData(SWT.FILL, SWT.CENTER, false, false); - jdtContentAssistArea.getControl().setLayoutData(data); - - Composite m2eComposite = new Composite(contents, SWT.BORDER); - m2eComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - m2eComposite.setLayout(new GridLayout(1, false)); - Label m2eLabel = new Label(m2eComposite, SWT.NONE); - m2eLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - m2eLabel.setText("M2E preferences"); - m2eLabel.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT)); - Label m2eLabelExplanation = new Label(m2eComposite, SWT.NONE); - m2eLabelExplanation.setLayoutData(new GridData(SWT.BEGINNING, SWT.LEFT, false, false)); - m2eLabelExplanation.setText("We set the following M2E preferences:\n" - + "* Hide folders of physically nested projects (true)\n" - + "* Download repository updates on startup (false)\n" - + "* Open XML page in pom editor by default (true)"); - Button m2eSetButton = new Button(m2eComposite, SWT.PUSH); - m2eSetButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - m2eSetButton.setText("Set M2E preferences only"); - m2eSetButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - new GlobalPreferenceEnhancer().enhanceM2EPreferences(); - } - }); - Button m2eUnsetButton = new Button(m2eComposite, SWT.PUSH); - m2eUnsetButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); - m2eUnsetButton.setText("Reset M2E preferences only"); - m2eUnsetButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - new GlobalPreferenceEnhancer().undoJDTEnhance(); - } - }); - PreferenceLinkArea m2eArea = new PreferenceLinkArea(m2eComposite, SWT.WRAP, - "org.eclipse.m2e.core.preferences.Maven2PreferencePage", "Go to the M2E preferences page", - (IWorkbenchPreferenceContainer) getContainer(), null); - data = new GridData(SWT.FILL, SWT.CENTER, false, false); - m2eArea.getControl().setLayoutData(data); - PreferenceLinkArea m2eUIArea = new PreferenceLinkArea(m2eComposite, SWT.WRAP, - "org.eclipse.m2e.core.ui.preferences.UserInterfacePreferencePage", - "Go to the M2E UI preferences page", (IWorkbenchPreferenceContainer) getContainer(), null); - data = new GridData(SWT.FILL, SWT.CENTER, false, false); - m2eUIArea.getControl().setLayoutData(data); - - // disable m2e components if it is not installed - if (Platform.getBundle("org.eclipse.m2e.core") == null) { - m2eComposite.setEnabled(false); - m2eLabel.setText(m2eLabel.getText() + " (not installed)"); - m2eSetButton.setEnabled(false); - m2eUnsetButton.setEnabled(false); - m2eUIArea.getControl().setEnabled(false); - m2eArea.getControl().setEnabled(false); - } - - return contents; - } -} diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/common/SpringProblemCategories.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/common/SpringProblemCategories.java index 824b1daaa..2927f435d 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/common/SpringProblemCategories.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/common/SpringProblemCategories.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2022 VMware, Inc. + * Copyright (c) 2022, 2023 VMware, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,23 +19,23 @@ import static org.springframework.ide.vscode.commons.languageserver.reconcile.Pr public class SpringProblemCategories { - public static final ProblemCategory BOOT_2 = new ProblemCategory("boot2", "Boot 2.x Validation", + public static final ProblemCategory BOOT_2 = new ProblemCategory("boot2", "Boot 2.x Best Practices & Optimizations", new Toggle("Enablement", EnumSet.allOf(Toggle.Option.class), AUTO, "boot-java.validation.java.boot2")); - public static final ProblemCategory BOOT_3 = new ProblemCategory("boot3", "Boot 3.x Validation", + public static final ProblemCategory BOOT_3 = new ProblemCategory("boot3", "Boot 3.x Best Practices & Optimizations", new Toggle("Enablement", EnumSet.allOf(Toggle.Option.class), AUTO, "boot-java.validation.java.boot3")); - public static final ProblemCategory SPRING_AOT = new ProblemCategory("spring-aot", "Spring AOT Validation", + public static final ProblemCategory SPRING_AOT = new ProblemCategory("spring-aot", "AOT Optimizations", new Toggle("Enablement", EnumSet.of(OFF, ON), OFF, "boot-java.validation.java.spring-aot")); - public static final ProblemCategory PROPERTIES = new ProblemCategory("application-properties", "Properties Validation", null); + public static final ProblemCategory PROPERTIES = new ProblemCategory("application-properties", "Property Config Files", null); - public static final ProblemCategory YAML = new ProblemCategory("application-yaml", "YAML Properties Validation", null); + public static final ProblemCategory YAML = new ProblemCategory("application-yaml", "YAML Config Files", null); - public static final ProblemCategory SPEL = new ProblemCategory("spel", "SPEL Validation", + public static final ProblemCategory SPEL = new ProblemCategory("spel", "SpEL Expressions", new Toggle("Enablement", EnumSet.of(OFF, ON), ON, "boot-java.validation.spel.on")); - public static final ProblemCategory VERSION_VALIDATION = new ProblemCategory("version-validation", "Spring Boot Version Validation", + public static final ProblemCategory VERSION_VALIDATION = new ProblemCategory("version-validation", "Versions and Support Ranges", new Toggle("Enablement", EnumSet.of(OFF, ON), ON, "boot-java.validation.java.version-validation")); } diff --git a/headless-services/spring-boot-language-server/src/main/resources/problem-types.json b/headless-services/spring-boot-language-server/src/main/resources/problem-types.json index 64717ac49..9dbb2d1d9 100644 --- a/headless-services/spring-boot-language-server/src/main/resources/problem-types.json +++ b/headless-services/spring-boot-language-server/src/main/resources/problem-types.json @@ -1,7 +1,7 @@ [ { "id": "boot2", - "label": "Boot 2.x Validation", + "label": "Boot 2.x Best Practices & Optimizations", "toggle": { "label": "Enablement", "values": [ @@ -54,7 +54,7 @@ }, { "id": "boot3", - "label": "Boot 3.x Validation", + "label": "Boot 3.x Best Practices & Optimizations", "toggle": { "label": "Enablement", "values": [ @@ -83,7 +83,7 @@ }, { "id": "spring-aot", - "label": "Spring AOT Validation", + "label": "AOT Optimizations", "toggle": { "label": "Enablement", "values": [ @@ -117,7 +117,7 @@ }, { "id": "application-properties", - "label": "Properties Validation", + "label": "Property Config Files", "order": 4, "problemTypes": [ { @@ -190,7 +190,7 @@ }, { "id": "application-yaml", - "label": "YAML Properties Validation", + "label": "YAML Config Files", "order": 5, "problemTypes": [ { @@ -275,7 +275,7 @@ }, { "id": "spel", - "label": "SPEL Validation", + "label": "SpEL Expressions", "toggle": { "label": "Enablement", "values": [ @@ -297,7 +297,7 @@ }, { "id": "version-validation", - "label": "Spring Boot Version Validation", + "label": "Versions and Support Ranges", "toggle": { "label": "Enablement", "values": [ diff --git a/vscode-extensions/vscode-spring-boot/package.json b/vscode-extensions/vscode-spring-boot/package.json index 96a7ff10e..17e13d103 100644 --- a/vscode-extensions/vscode-spring-boot/package.json +++ b/vscode-extensions/vscode-spring-boot/package.json @@ -306,7 +306,7 @@ }, { "id": "boot2", - "title": "Boot 2.x Validation", + "title": "Boot 2.x Best Practices & Optimizations", "order": 401, "properties": { "boot-java.validation.java.boot2": { @@ -395,7 +395,7 @@ }, { "id": "boot3", - "title": "Boot 3.x Validation", + "title": "Boot 3.x Best Practices & Optimizations", "order": 402, "properties": { "boot-java.validation.java.boot3": { @@ -436,7 +436,7 @@ }, { "id": "spring-aot", - "title": "Spring AOT Validation", + "title": "AOT Optimizations", "order": 403, "properties": { "boot-java.validation.java.spring-aot": { @@ -488,7 +488,7 @@ }, { "id": "application-properties", - "title": "Properties Validation", + "title": "Property Config Files", "order": 404, "properties": { "spring-boot.ls.problem.application-properties.PROP_INVALID_BEAN_NAVIGATION": { @@ -627,7 +627,7 @@ }, { "id": "application-yaml", - "title": "YAML Properties Validation", + "title": "YAML Config Files", "order": 405, "properties": { "spring-boot.ls.problem.application-yaml.YAML_SYNTAX_ERROR": { @@ -790,7 +790,7 @@ }, { "id": "spel", - "title": "SPEL Validation", + "title": "SpEL Expressions", "order": 406, "properties": { "boot-java.validation.spel.on": { @@ -818,7 +818,7 @@ }, { "id": "version-validation", - "title": "Spring Boot Version Validation", + "title": "Versions and Support Ranges", "order": 407, "properties": { "boot-java.validation.java.version-validation": {