Boot LS console char limit. Extra VM args for Boot LS
This commit is contained in:
@@ -45,6 +45,7 @@ public class SpringBootLanguageServer extends STS4LanguageServerProcessStreamCon
|
||||
// args.add("-Xrunjdwp:server=y,transport=dt_socket,address=1044,suspend=n");
|
||||
args.add("-Dlsp.completions.indentation.enable=true");
|
||||
args.add("-Xmx1024m");
|
||||
args.add("-XX:+HeapDumpOnOutOfMemoryError");
|
||||
args.add("-XX:TieredStopAtLevel=1");
|
||||
|
||||
addCustomJVMArgs(args);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2018 Pivotal, Inc.
|
||||
* Copyright (c) 2018, 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,9 +10,15 @@
|
||||
*******************************************************************************/
|
||||
package org.springframework.tooling.ls.eclipse.commons.console;
|
||||
|
||||
import org.eclipse.debug.internal.ui.DebugUIPlugin;
|
||||
import org.eclipse.debug.internal.ui.preferences.IDebugPreferenceConstants;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.jface.util.IPropertyChangeListener;
|
||||
import org.eclipse.jface.util.PropertyChangeEvent;
|
||||
import org.eclipse.ui.console.IOConsole;
|
||||
|
||||
public class LanguageServerIOConsole extends IOConsole {
|
||||
@SuppressWarnings("restriction")
|
||||
public class LanguageServerIOConsole extends IOConsole implements IPropertyChangeListener {
|
||||
|
||||
private static final String CONSOLE_TYPE = LanguageServerIOConsole.class.getName();
|
||||
|
||||
@@ -20,4 +26,41 @@ public class LanguageServerIOConsole extends IOConsole {
|
||||
super(title, CONSOLE_TYPE, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
|
||||
store.addPropertyChangeListener(this);
|
||||
if (store.getBoolean(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT)) {
|
||||
int highWater = store.getInt(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK);
|
||||
int lowWater = store.getInt(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK);
|
||||
setWaterMarks(lowWater, highWater);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt) {
|
||||
String property = evt.getProperty();
|
||||
IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore();
|
||||
if (property.equals(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT)
|
||||
|| property.equals(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK)
|
||||
|| property.equals(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK)) {
|
||||
boolean limitBufferSize = store.getBoolean(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT);
|
||||
if (limitBufferSize) {
|
||||
int highWater = store.getInt(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK);
|
||||
int lowWater = store.getInt(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK);
|
||||
if (highWater > lowWater) {
|
||||
setWaterMarks(lowWater, highWater);
|
||||
}
|
||||
} else {
|
||||
setWaterMarks(-1, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dispose() {
|
||||
super.dispose();
|
||||
DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -35,6 +35,10 @@ export function activate(context: VSCode.ExtensionContext): Thenable<ExtensionAP
|
||||
CONNECT_TO_LS: false,
|
||||
extensionId: 'vscode-spring-boot',
|
||||
preferJdk: true,
|
||||
jvmHeap: '1024m',
|
||||
vmArgs: [
|
||||
'-XX:+HeapDumpOnOutOfMemoryError'
|
||||
],
|
||||
checkjvm: (context: VSCode.ExtensionContext, jvm: commons.JVM) => {
|
||||
let version = jvm.getMajorVersion();
|
||||
if (version < 17) {
|
||||
|
||||
Reference in New Issue
Block a user