microsoft / microsoft/vscode-java-debug

highlight project class in stacktrace

Offen
#958 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

ai-triaged enhancement feature request question ux
Vorherrschende Sprache
TypeScript
Sterne
591
Forks
429
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
19

Beschreibung

Environment

  • Electron: 11.3.0
  • Chrome: 87.0.4280.141
  • Node.js: 12.18.3
  • V8: 8.7.220.31-electron.0
  • OS: Windows_NT x64 6.1.7601(WIN7 SP1)
  • JDK version: openjdk version "11.0.7" 2020-04-14 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.7+10) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.7+10, mixed mode)
  • Visual Studio Code version: 1.54.1 f30a9b73e8ffc278e71575118b6bf568f04587c8
  • Java extension version: v0.12.1
  • Java Debugger extension version: v0.31.0

i've set the debuger console like this:
"java.debug.settings.console": "internalConsole"
but all classes just display within stacktrace in same way when error happens

QQ图片20210309100452

i wonder is it possible to highlight class which is in my own project but not in dependencies, just like idea does

idea

by the way,the colorized log setting of a springboot project failed in VSC,but work normaly in idea,this is "logback.xml" setting

3

`
public class LogColorConverter extends CompositeConverter {
private static final Map<String, AnsiElement> ELEMENTS;

static {
	Map<String, AnsiElement> ansiElements = new HashMap<>();
	ansiElements.put("faint", AnsiStyle.FAINT);
	ansiElements.put("red", AnsiColor.RED);
	ansiElements.put("green", AnsiColor.GREEN);
	ansiElements.put("yellow", AnsiColor.YELLOW);
	ansiElements.put("blue", AnsiColor.BLUE);
	ansiElements.put("magenta", AnsiColor.MAGENTA);
	ansiElements.put("cyan", AnsiColor.CYAN);
	ELEMENTS = Collections.unmodifiableMap(ansiElements);
}

private static final Map<Integer, AnsiElement> LEVELS;

static {
	Map<Integer, AnsiElement> ansiLevels = new HashMap<>();
	ansiLevels.put(Level.ERROR_INTEGER, AnsiColor.RED);
	ansiLevels.put(Level.WARN_INTEGER, AnsiColor.YELLOW);
	ansiLevels.put(Level.INFO_INTEGER, AnsiColor.BLUE);
	ansiLevels.put(Level.DEBUG_INTEGER, AnsiColor.GREEN);
	LEVELS = Collections.unmodifiableMap(ansiLevels);
}

@Override
protected String transform(ILoggingEvent event, String in) {
	AnsiElement element = ELEMENTS.get(getFirstOption());
	if (element == null) {
		// Assume highlighting
		element = LEVELS.get(event.getLevel().toInteger());
		element = (element != null) ? element : AnsiColor.BLACK;
	}
	return toAnsiString(in, element);
}

protected String toAnsiString(String in, AnsiElement element) {
	return AnsiOutput.toString(element, in);
}

}
`

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Es werden keine Quelldateien, Tests oder Einstiegspunkte genannt. Reproduziere die Java-Debugging-Sitzung mit "java.debug.settings.console" auf "internalConsole" gesetzt, untersuche, wie Stacktraces und Spring Boot ANSI-Logs dargestellt werden, und definiere den Abschluss so, dass Projektklassen visuell unterschieden werden, ohne Frames von Abhängigkeiten oder die Log-Ausgabe zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
electron, java, typescript, vscode
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.