Delphi 10.4 - očekávané novinky - LSP

vložil Radek Červinka 12. května 2020 20:13

Publikováno se speciálním svolením Embarcadero - beta blogging.

Následující hlavní verze je Delphi 10.4 Sydney a z toho co jsem vyzkoušel je na co se těšit.

Jak Marco Cantu, tak David Millington (oba produkt manažeři za Rad Studio) již publikovali dvě ze zásadních novinek a to New in Delphi 10.4: Redesigned Code Insight a Custom Managed Records Coming to Delphi 10.4.

Proč se těšit? Prvním důvodem je LSP, který je jádrem změn v Code Insight.

Jak jsem již psal, jedná se o zkratku Language Server Protocol. V podstatě se jedná o největší změnu v IDE za takových 15let (od Delphi 2005, které změnilo IDE).

Od prvních Delphi bylo součástí IDE napovídání kódu, doplňování parametrů atd. Jelikož v tém době byl akorát jeden procesor, všechny tyto akce se dějí v rámci procesu IDE, žerou paměť IDE a hlavně jsou synchronní, tj. chcete napovědět, musíte si počkat než se provede analýza atd. Až do teď. LSP je jiný proces, který běží paralelně a IDE s ním komunikuje a on mu vrací výsledky, odezva je prakticky okamžitá. I jiné jazyky mají LSP a IDE je může podporovat, protože protokol je unifikovaný.

LSP Delphi 10.4

Z historických důvodů napovídání, kompletace kodu a Error insight (to jsou ty podržené části kódu, které značí chyby v kódu) jsou obsluhovány zjednodušeným kompilátorem (resp. parserem, ehm resp. několika různými - ehm asi třemi - různými parsery) a sem tam se v nuancích mohl lišit. Až do teď. Nově jsou všechny tyto části obsluhovány reálným kompilátorem, který bude překládat výsledný kód, takže rozumím všem temným zákoutím vašeho zdrojáku stejně jako reálný kompilátor. Potřebuje IDE seznam pro kompletaci kódu? LSP server mu ho vrátí prakticky okamžitě, protože o změnách dávno už ví, v podstatě hned jak něco napíšete.

Přičemž LSP v Delphi je multiprocesový, kdy jednotlivé části obsluhují různé procesy. Je to i z toho důvodu, že Delphi projekty bývají obrovské (běžně se setkávám s projekty v řádu MLOC) a je nutno mít rezervu. Je možné, že LSP bude někdy i 64bit, jenže to by pak musel být i OS pro IDE 64bit. Zatím to vypadá, že 4GB dostupných pro 32bit process mohou stačit.

Další výhodou je, že když se něco stane (nedej bože) tak spadne pouze LSP server a IDE ho jednoduše restartuje a jedeme dále.

LSP Delphi 10.4

Napovídání je spíše fulltext, viz obrázek, funkce má v sobě někde rect, takže ji nabídnuta.

A mnou milovaná funkce - napovídání a zbytek funguje i během ladění. Často projdu nějakou částí kódu a napadne mne, že tam něco není, takže to tam dopisuji, ale ladění pořád běží. Doteď jsem to většinou nějak napsal, abych nezapomněl myšlenku a pak jsem to při překladu opravil. Teď mi IDE doplňuje kod, můžu procházet deklarace atd. a pak pokračovat v běhu.

Shrnutí: přesnost, rychlost, asychronost, bez limitů paměti - to je LSP v Delphi 10.4. Fakt se těším až si to taky zkusíte. Nekecám.

Tagy:

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců