Wie zu zwingen, IntelliJ nur Schritt in meinem Quellcode?
Ich habe eine Spring-MVC-Projekt, das ich versuche zu Debuggen mit IntelliJ.
Wenn ich einen Haltepunkt in meinen Controller, code, debug Stoppt an der entsprechenden Stelle. Diese bestimmte Leitung hat, mehr von meinen eigenen code in ein anderes bean. Ich möchte in der Lage sein, um den Schritt in den code. Wenn ich "step-in", unmittelbar nach dem Haltepunkt Rigger, es weicht in Spring AOP framework-code.
Wenn ich trigger den gleichen Haltepunkt und "smart step in" sofort, es bringt mich in Zeile -1 der Quell-Datei (sichtbar in der Grafik oben). Was ist diese Zeile -1 zu bedeuten? Wenn ich "smart step-in" wieder, die ich am Ende in der Zeile, nachdem meine ursprünglichen Haltepunkt, aber nie mit im Innern der Methode, die ich wollte, um Schritt in.
Habe ich versucht, indem das Spring AOP-Paket in die Debugger-Einstellung treten Sie nicht in die Klassen. Allerdings habe ich auch entschieden, dass die Transaktion Klassen, sowie einige andere. Am Ende habe ich alle von Frühling in der Liste ... und SLF4J und einige JDBC-Treiber.
Wie kann ich nur IntelliJ nur halt in mein Projekt source-code, wenn ich etwas wie "Kraft einzutreten"?
- in
Do not step into classes
Einstellung können Sie angeben, ein Muster mit wildcard. Dies kann helfen, schnell ohne Pakete wieorg.*
undcom.*
, vorausgesetzt, Ihnen nicht der Fall beginnen Sie mit diesen. Es wäre eine perfekte Lösung für Sie sein, um in der Lage zu verwenden, negation (!
) in den Muster - ich würde vorschlagen, senden Sie diese als feature request. - Es ist eine Verwandte feature request für IntelliJ IDEA, bitte abstimmen. - IDEE-54807 Erlauben Sie Projekt-Einstellungen, um seine eigene Debug-Stepping, und fügen Sie [Nur Schritt in den Klassen] für Produktivität
Du musst angemeldet sein, um einen Kommentar abzugeben.
Derzeit gibt es keine Allgemeine option, um nur Ziel-Benutzer-code (wie Visual Studio 's" Nur Mein Code").
Der beste Weg, um das gleiche Verhalten der Ausschluss von bestimmten code-Klassen oder-Pakete (es ist möglich, setup-filter-Muster für die Klasse Pakete über Platzhalter), die nicht 'betreten'.
Dies kann erreicht werden, innerhalb der Einstellungen/Einstellungen, in der Debugger/Stepping Optionen.
Spring AOP könnte unter den schlimmsten übeltäter.
Die OP vorgeschlagen, Sie hätten dies bereits getan, aber hier ist, wie können Sie deaktivieren, treten in bestimmte Klassen (IntelliJ ULTIMATE 2018.2):
File
->Settings...
->Build, Execution, Deployment
->Debugger
->Stepping
...
Do not step into the classes
->Add Pattern
->Enter the filter pattern:
... ...
org.springframework.aop.*
Beachten Sie, dass Sie können Platzhalter verwenden, zu deaktivieren, ganze namespaces -- also zum Beispiel, unter der Annahme, dass der namespace Ihrer Organisation beginnt mit
com
können Sie die meisten der Weg dorthin durch blacklistingorg.*
.IntelliJ ULTIMATE 2018.3 Mit
File
->Settings
-> such 'Schritt' wie folgt:Anderen Weg in "Ultimate 2019.1" (kann auch in früheren Versionen):
Wenn Sie jetzt das Debuggen Sie können machen Sie einen rechten Mausklick auf eine Klasse in der Ansicht "Debugger" - "Frames". Dann können Sie wählen Sie "Add-stepping filter..." und hinzufügen der für diese Klasse eine neue step-filter. Natürlich können Sie hier auch änderungen, die das neue step filter, mit Platzhalter "*" und so weiter ...