Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Wie gucken, warum CodeInsight nichts machen will? (https://www.delphipraxis.net/213868-wie-gucken-warum-codeinsight-nichts-machen-will.html)

himitsu 10. Okt 2023 17:44

Wie gucken, warum CodeInsight nichts machen will?
 
Moin moin,

ich hab jetzt mal das LSP-Logging aktiviert und wollte gezielt nachsehn, warum Strg+Linksklick in "diesem" Projekt meistens garnichts macht.
Ebenso Strg+Enter, das CodeCompletion, sowie im F6 nichts gefunden usw.
https://docwiki.embarcadero.com/RADS...ng:_Delphi_LSP

Logging aktivieren (kill, falls schon läuft)
Code:
reg add HKCU\Software\Embarcadero\BDS\22.0\LSP /F /V DelphiLSPLog /T REG_DWORD /D 255
taskkill /IM DelphiLSP.exe /F
md "%LOCALAPPDATA%\Temp\DelphiLSP"
del /Q "%LOCALAPPDATA%\Temp\DelphiLSP\*.*"
explorer "%LOCALAPPDATA%\Temp\DelphiLSP"
und wieder deaktivieren
Code:
reg delete HKCU\Software\Embarcadero\BDS\22.0\LSP /F /V DelphiLSPLog
taskkill /IM DelphiLSP.exe /F
rd /S /Q "%LOCALAPPDATA%\Temp\DelphiLSP"
Logging starten, Delphi Starten (ProjektGruppe+Unit wird automatisch geladen), dann Strg+Linkklick auf eine Funktion
und anschließend nach dieser Funktion in den etwa 950 KB an Logs suchen.


Ich finde da jetzt in allen Logdateien auch massenhaft Codestückchen, wo das Gesuchte drin ist.
Aber ich hätte auch irgendwo dieses "Wort" einzeln erwartet, also ohne den restlichen Quellcode drumrum, für die Suche danach ... nix.

Also, ich habe somit massenhaft unübersichtlichen Müll vor mir liegen, aber wie nun weiter, bzw. nach was muß man dafür suchen?



Es wäre ja auch zu einfach, wenn es in den IDE-Logfenstern, oder als Hint an dem psychedelisch blinkendem LSP-Dingens, einen Einzeiler gäbe,
so ala "abgebrochen, weil Fehler/NichtGefunden an DIESER Stelle" :freak:



[add]
https://quality.embarcadero.com/browse/RSP-32757

Kas Ob. 11. Okt 2023 10:45

AW: Wie gucken, warum CodeInsight nichts machen will?
 
Hi,
I can give few ideas, hoping they are not wasting your time, because never had this LSP thingy, so i only can guess.

1) Try to run LSP server inside a debugger, a real debugger like https://x64dbg.com/ , looking for exceptions silently discarded and/or not logged.
2) Use http://www.rohitab.com/ (yes currently on http only for some reason), this powerful tool need some get to know first, but i think you are gonna love it, anyway use it to track threading functions and event functions, also might help to track files, this monitor have great filter with great view for API parameters and their result.

3) May be should be (1), compare the logging with working log, try to burn brain calories imaging what is going with great and famous LSP.

Hope that helps or give you thoughts.

himitsu 11. Okt 2023 11:17

AW: Wie gucken, warum CodeInsight nichts machen will?
 
Grade mal schnell etwas probiert.

Daheim löste (vermutlich das Error-Insight) nach nahezu jedem Tastendruck eine Exception aus.
Hier sah ich gar keine Exceptions. (Delphi mit Delphi gedebuggt)

Nathan 11. Okt 2023 11:50

AW: Wie gucken, warum CodeInsight nichts machen will?
 
Hallo

Hab das auch, das der DelphiLSP per CodeInsight nicht auf die "Suche" geht und an Methoden springt. Hatte dann auch dem DelphiLSP Logger eingeschalten.
Über das Repository https://github.com/rickard67/LSP-Pas.../XLSPTypes.pas konnte ich ein bisschen was zu Error Code "InternalError = -32603" finden. Hat mir zwar in dem Fall auch nichts gebracht, aber vielleicht trotzdem Hilfreich.

himitsu 11. Okt 2023 13:45

AW: Wie gucken, warum CodeInsight nichts machen will?
 
Danke für den Tipp.
Heute Abend (nee, morgen ganz viel früher zur Arbeit, weil große Umstellung bei 'nem Kunden) Morgen/Wochende (ne, weil nicht da) nächste Woche mal reinsehn.
Ansonsten gibt es auf GitHub noch ein paar LSP-Projekte, aber nur zwei mit Delphi.
https://github.com/rickard67/LSP-Pascal-Library
https://github.com/CWBudde/ExploreDelphiLSP


Menno, die OTA hat auch nichts, um sich in den/die aktuellen LSP der IDE reinzuhängen.

Und nur für den C++Builder gibt was in den Projektoptionen.

C:\Program Files (x86)\Embarcadero\Studio\22.0\source\ToolsAPI\BCCStrs.pas
Delphi-Quellcode:
   // BCCLSP
   sGenerateInOutFiles = 'BCC_GenerateInOutFiles';
   sGenerateLSPLog = 'BCC_GenerateLSPLog';
   sEnableLSPIndexing = 'BCC_EnableLSPIndexing';
   sEnableLSPIndexingOnChange = 'BCC_EnableLSPIndexingOnChange';
   sNumberOfIndexingThreads = 'BCC_NumberOfIndexingThreads';
C:\Program Files (x86)\Embarcadero\Studio\22.0\source\Experts\ExpertsProjectCreators.pas
Delphi-Quellcode:
                  // Default new WIN32 project to use CLANG
                  Configuration.PlatformConfiguration[APlatform].AsBoolean[BCCStrs.sUseClassicCompiler] := False;
                  // Default new WIN32 projects to enable LSP indexing
                  Configuration.PlatformConfiguration[APlatform].AsBoolean[BCCStrs.sEnableLSPIndexing] := True;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz