W dniu 23.05.2019 o 16:58, Filip454 pisze:
https://www.swiat-owocow.pl/1276.html
Całkiem ciekawy artykuł. Polecam.
Macie jakieś szersze doświadczenia z różnymi edytorami tekstu, czy
zawsze trzymacie się tego jednego (MS Word)?
Parę lat temu napisałem własny edytor programisty - miał być prosty,
kolorować składnię (z automatycznym dostosowaniem do pliku) i sprawdzać
pisownię (w wybranym języku), miał mieć też wszystkie podstawowe opcje
edycji i pamiętać ustawienia klikudziesięciu ostatnio edytowanych plików.
To wszystko udało mi się zrobić w C++ i Qt.
Wersja druga bazowała na KF5SyntaxHighlighter z Kde który zapewnia
rozpoznawanie i kolorowanie ponad 150 języków programowania.
Wersja 3 miała być modułowa: rdzeń miał oferować tylko ładowanie pliku,
natomiast sposoby edycji miały być dowolne (edytor czystego tekstu,
przeglądarka grafiki, edytor dokumentów). Problemem który mnie do tego
zniechęcił to fakt, że klasa QPlainTextEdit z Qt nie wspiera wielu
podświetlaczy składni co jest konieczne przy modułowym rozwiązaniu:
jeden plugin zapewniałby kolorowanie składni, a drugi korektę pisowni -
to jest nie możliwe w Qt - oni zmuszają do monolitycznych elementów
programu w brew oficjalnej polityce. Problem zgłoszony - cisza.
Drugim, poważniejszym problemem (który mnie dobił) jest to, że ta sama
klasa QPlainTextEdit ma ograniczenie do jednego obiektu dla bloku tekstu
(zwykle to jedna linia). Jest to ważne w momencie gdy mamy podświetlanie
składni (ang. syntax highlighter) i chcemy np. efektywnie zrealizować
zakładki w tekście (ang. bookmarks). Niestety obecnie mamy jedynie
możliwość dodawania tylko jednego obiektu do bloku tekstu. To również
powoduje, że modułowej architektury nie zaimplementujemy, bo musimy mieć
jedną klasę która spełni wszystkie funkcje związane z: podświetlanie
składni, korektę pisowni i zakładki. Problem zgłoszony - cisza.
Ja w wersji 2 edytora miałem wszystko w jednym i nie potrzebuję udawać,
że mam modularny edytor (wersja 3) tyle, że połowa musi być
monolityczna! Tak więc wróciłem do wersji 2 i przystosowałem ją do pracy
w Linuxie. Obecnie stworzyłem dla niego paczkę AppImage, natomiast mam
problem z paczkami Snap (nie wiem jak włączać pliki zasobów - katalog
/usr/share/).
Najgorszy pakiet jakiego używałem to chyba LibreOffice.OpenOffice jest
zdecydowanie lepszy.
Co jest innego w LO w porównaniu z OO?!?
P.S A pamiętacie AbiWord? :)
Porażka - gorsze nawet od OO! (LO wtedy nie było)
|