Lazarus vs Delphi (embarcadero Community Edition)

Lazarus vs Delphi (embarcadero Community Edition)
DA
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
  • Postów:37
0

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
2
darekdarek napisał(a):

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

Lepsze do czego? Do sterowania choinką na Raspberry Pi czy programowania ERP dla fabryki rowerów?

DA
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
  • Postów:37
0
vpiotr napisał(a):
darekdarek napisał(a):

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

Lepsze do czego? Do sterowania choinką na Raspberry Pi czy programowania ERP dla fabryki rowerów?

Do programowania ERP dla fabryki rowerów.
Zresztą obojętne - czy jest obszar w którym Lazarus będzie lepszy?

edytowany 1x, ostatnio: darekdarek
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
3

Lazarus jest lepszy w:

  • w darmowości (darmowe bez ograniczeń na dochód)
  • w działaniu na Linuksie
  • w perspektywie długości wsparcia (nie zniknie - masz pełne źródła)
WL
  • Rejestracja:około 21 lat
  • Ostatnio:około miesiąc
  • Postów:1082
0
vpiotr napisał(a):
darekdarek napisał(a):

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

Lepsze do czego? Do sterowania choinką na Raspberry Pi czy programowania ERP dla fabryki rowerów?

Żadne z powyższych.

Zobacz pozostałe 7 komentarzy
vpiotr
Niby tak, ale nie wiem czy jest to wymaganie krytyczne. Może OP niech się wypowie.
somedev
Idąc tym tropem to zaproponował bym VS z C# plus WinForms, ew. WPF(nie lubię). Tak naprawdę nie wiemy czy to ma być pod CRUD, czy gdzieś gdzie performance i zarządzanie pamięcią jest ważne, czy na jedną platformę, czy na wiele. Trudno tak doradzać - to jak zapytać się jaki kupić samochód bez powiedzenia, czy będziemy wozić żonę i dziecko, czy 20 ton cementu ;p
DA
Prościej: Czy jest coś, co zrobię w Lazarusie a nie zrobię tego w tym nowym Delphi?
vpiotr
Stąd też mój pierwszy post w wątku.
somedev
Lazarus teoretycznie wspiera więcej platform, bo teoretycznie na RPi też tam skompilujesz, ale nikt poważnie tego nie robi, jest to jak cierń w dupie, i się krzaczy. Na Delphi masz wspierane platformu takie jak Windows, Linux, OsX, Android, iOS (nawet zegarki). Teraz tez coś kobinuja z frontem i SenchaJS. Jest to dużo stabilniejsze niż Lazarus, ale i tak daleko im do konkurencji (Xamarin).
somedev
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:666
1

W Lazarusie jest pełno WTF jeśli chodzi o stabilność. Mniej funkcji niż w Delphi, ale da się pisać i możesz używać komercyjnie. Delphi musisz bulić jak za zboże. Szczerze to odradzał bym, produkty firmy Embarcadero ze względu na licencjonowanie, jakość i wsparcie. Jednak musząc wybierać wybrał bym Delphi.

DA
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 lata
  • Postów:37
0
somedev napisał(a):

W Lazarusie jest pełno WTF jeśli chodzi o stabilność.

Masz na myśli stabilność samego IDE? Chyba nie stabilność programu wynikowego?

somedev
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:666
2

To i to. Ide potrafi sie wykrzaczyć, czy błędnie działać, a sam LCL też ma błędy w runtime, szczególnie jak chcesz przenosić kod między środowiskami. Jakieś liby stylu LazSerial, też nie za bardzo sobie radzi zmieniając platforme. Ta dewiza "Write once, compile everywhere" to tylko marketing.

flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:minuta
  • Lokalizacja:Tuchów
  • Postów:12155
4

Lazarus potrafi się wysypać w najmniej oczekiwanym momencie, czasem za sprawą absolutnie podstawowych czynności. I to nie że wyskoczy błąd i dana operacja zostanie przerwana – poleci wewnątrz wyjątek, nie zostanie złapany i wyskakuje komunikat AFAIR z przyciskami Continue i Abort. Nieważne co się wybierze, bo kontynuacja oznacza ”wiszenie” zaciętego IDE, a przerwanie jest równoznaczne z ubiciem procesu i utratą danych niezapisanych w danej sesji.

Przedwczoraj mało mnie krew nie zalała, gdy takie błędy dostawałem podczas edycji filtrów w oknie komunikatów. Z jakiegoś powodu IDE utworzyło dwa różne filtry o takim samym ID i przy próbie usunięcia jednego z nich leciał wyjątek, który nie był ubsługiwany. Z poziomu środowiska nic nie dało się zrobić – musiałem ręcznie usuwać te filtry bezpośrednio z plików konfiguracyjnych środowiska.

Inny przykład wyjątku z d**y? Ustawić kursor na wbudowanym identyfikatorze, nie posiadającym deklaracji (np. instrukcji Break) i użyć funkcji Find declaration. W oknie komunikatów pojawi się to:

Kopiuj
Codetools, Errors, 1:
Error: EAccessViolation: Access violation

Tyle dobrze, że ten wyjątek środowiska nie wywala i można dalej normalnie pracować.

Takich małych utrudnień jest masa – niektóre całkowicie wykrzaczają IDE, pozostałe co najwyżej wkurzają (nie wpływają na stabilność). Mimo wszystko tego typu niedociągnięć z wersji na wersję jest coraz mniej, więc prace idą w dobrym kierunku i środowisko jest coraz bardziej stabilne. Sam radzę sobie z tym po prostu pamiętając czego nie robić, aby nie wykrzaczyć IDE.


Żeby opisać wszystkie bolączki to trzeba by spory artykuł wysmarować. Sam nauczyłem się pracować z tym środowiskiem, unikać wszelkich problemów i zapamiętywać kolejne napotkane, aby móc ich unikać w przyszłości. Mimo wszystko jestem z niego zadowolony – przynajmniej za nic nie muszę płacić i mam pełen dostęp do źródeł (z paskudnym, niejednolitym formatowaniem, ale co poradzić…).

Natomiast społeczność jest na tyle duża i obeznana, że w przypadku trudniejszych problemów zawsze jest się do kogo zwrócić o pomoc i tę pomoc chętnie i szybko się otrzyma, a wszystkie zgłaszane błędy są rozpatrywane i dość sprawnie łatane w kolejnych trunkach.

Podsumowując – Lazarus to środowisko, w którym bohatersko pokonuje się trudności nieznane w żadnym innym IDE. ;)


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 8x, ostatnio: flowCRANE
hnb
  • Rejestracja:około 11 lat
  • Ostatnio:około 2 lata
  • Postów:28
0
furious programming napisał(a):

Inny przykład wyjątku z d**y? Ustawić kursor na wbudowanym identyfikatorze, nie posiadającym deklaracji (np. instrukcji Break) i użyć funkcji Find declaration. W oknie komunikatów pojawi się to:

Kopiuj
Codetools, Errors, 1:
Error: EAccessViolation: Access violation

Tyle dobrze, że ten wyjątek środowiska nie wywala i można dalej normalnie pracować.

Takich małych utrudnień jest masa – niektóre całkowicie wykrzaczają IDE, pozostałe co najwyżej wkurzają (nie wpływają na stabilność). Mimo wszystko tego typu niedociągnięć z wersji na wersję jest coraz mniej, więc prace idą w dobrym kierunku i środowisko jest coraz bardziej stabilne. Sam radzę sobie z tym po prostu pamiętając czego nie robić, aby nie wykrzaczyć IDE.

czy masz gdzieś linki do tych błędów na bugtrackerze? Jeśli nie, to byłoby miło gdybyś je dodał.


NewPascal.org
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:minuta
  • Lokalizacja:Tuchów
  • Postów:12155
0

@hnb: z chęcią bym zgłosił te błędy, ale nie mogę się zalogować na bugtrackera. Zapomniałem danych do logowania (ostatnio logowałem się z pięć lat temu), a narzędzie do przypominania hasła nie jest mi w stanie pomóc.

Jeśli chodzi o te kilka wymienionych błędów, to ja nie wiem co nich myśleć. Ktoś testuje w ogóle te narzędzia? Bo coś mi się wydaje, że albo nie są one testowane, albo robione jest to po łebkach.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 1x, ostatnio: flowCRANE
somedev
Na pytanie "Czy ktoś to w ogóle tetował?!", śmiało mogę odpowiedzieć, że "Z pewnością będą zapierdalać na galerze, do ostatnich swoich dni, za wypuszczenie takiego crapa"
flowCRANE
Panuj nad językiem.
somedev
Była to parafraza, pewnego znanego jegomościa. Tez się dziwię, że Coyte nie wyCIACHał.
flowCRANE
Wiem że nrgeekowa galera się udziela, ale mimo wszystko.
hnb
  • Rejestracja:około 11 lat
  • Ostatnio:około 2 lata
  • Postów:28
0

@furious programming:

w takim razie najlepiej założyć nowe konto. Lazarus jest testowany przed każdym wydaniem na kilka tygodni przed. Są wewnętrzne RC przed wydaniem stabilnej wersji i automatyczne testy (niestety testy nie są wstanie wychwycić wszystkiego).

To prawda, że edytor kodu jest czasem zawodny ale jednocześnie jest bardziej zaawansowany niż edytor w Delphi.

Unikając raportowania błędów sytuacja się nie poprawi, często każdy dev Lazarusa ma pewne przećwiczone schematy i ciężko napotkać na błędy, stąd też Twoje testy/odmienny sposób pracy/wyłapane błędy są cenne i warto to raportować.


NewPascal.org
Zobacz pozostały 1 komentarz
vpiotr
i cyk, pomysł na projekt gotowy
somedev
@vpiotr: chcesz to zrealizować? Jeśli tak to daj linka na tracker czy na brancha. Chętnie bym się dołączył, bo nie mam okazji ostatnio pisać w Pascalu. Przy czym poza ficzerem w Lazarusie, trzeba by ogarnąć, jakieś api w backendzie bugtrackera.
somedev
Lol, oni maja to na SVN jeszcze. Od 5 lat nie używałem repo SVN... Wieczorem pociągnę i skompiluje IDE.
vpiotr
Pluginy do Delphi kiedyś robiłem, nie wiem na ile Lazarus jest podobny w tym obszarze. Bugi mogłyby być wypychane na GitHub na początek bo nie wiem jakiego oni tam bug truckera używają ale pewnie jakiegoś starego. Obecnie jednak mogę ew. co najwyżej zainspirować / pomóc w designie bo w życiu prywatnym nie mam czasu się nawet podrapać...
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:minuta
  • Lokalizacja:Tuchów
  • Postów:12155
0
hnb napisał(a):

w takim razie najlepiej założyć nowe konto.

Nie no wystarczyłoby się odezwać do admina i poprosić o pomoc. Tyle że przymierzam się do kontaktu już od dobrych dwóch lat i jakoś zawsze o tym zapominam, bo mam kupę innych rzeczy na głowie. :/

Lazarus jest testowany przed każdym wydaniem na kilka tygodni przed. Są wewnętrzne RC przed wydaniem stabilnej wersji i automatyczne testy (niestety testy nie są wstanie wychwycić wszystkiego).

Nie wątpię w to, że testy (w postaci kodu) są przeprowadzane, ale czy jest w ekipie tester, który siada, odpala IDE, ładuje jakiś większy projekt i po prostu katuje środowisko? Coś mi się wydaje, że organoleptycznie nikt nie testuje tych narzędzi, bo na sporo niedoróbek/błędów wpada się praktycznie od razu, przy podstawowych czynnościach (jak np. owy Find Declaration).

To prawda, że edytor kodu jest czasem zawodny […]

„Czasem” to delikatne niedomówienie, bo np. praca z okienkiem completion box w połaczeniu z generykami to istna katorga – nie da się używać. Do tego jeszcze te durne pozycje typu text, które nie wiem po co są dodawane, skoro zaśmiecają listę. No ale to nie sam edytor kodu jest winien.

[…] ale jednocześnie jest bardziej zaawansowany niż edytor w Delphi.

Nie wiem, nie używam Delphi, więc nie mam porównania. Co jak co, ale z edytora kodu jestem akurat bardzo zadowolony – masa funkcji, korzystam chyba ze wszystkich.

Unikając raportowania błędów sytuacja się nie poprawi, często każdy dev Lazarusa ma pewne przećwiczone schematy i ciężko napotkać na błędy, stąd też Twoje testy/odmienny sposób pracy/wyłapane błędy są cenne i warto to raportować.

No to raczej oczywiste. Postaram się ogarnąć ten temat, a jeśli bardzo nie będzie mi się chciało to chciaż na forum dam znać, niech to ktoś dorzuci na bugtrackera. Wiele napotkanych problemów już jest zgłoszonych (np. problem z nie znikaniem hintów), więc najpierw muszę sprawdzić czy w ogóle mam co zgłaszać.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 2x, ostatnio: flowCRANE
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:minuta
  • Lokalizacja:Tuchów
  • Postów:12155
1

Kolejny bubel znaleziony przypadkowo.

Opcja Export as HTML z menu File jedynie połowicznie wspiera schemat kolorów edytora kodu. Sam mam tło edytora jako prawie czarne, keywordy białe, dyrektywy i komentarze jasnoszare i identyfikatory średnio-szare. Natomiast w wyeksportowanym dokumencie, kolory tekstu są takie same jak w edytorze, ale tło dokumentu jest zawsze białe…

Wyeksportowany kod wygląda po otwarciu w przeglądarce tak:

shitty code.png

a powinien wyglądać tak (zmieniłem tylko kolor tła, za pomocą narzędzi deweloperskich w przeglądarce):

good code.png

To już nawet nie chodzi o to, że to narzędzie nie zostało porządnie przetestowane, w tym manualnie sprawdzone wyniki dla różnych ustawień (bo nie zostały), ale ktoś kto je pisał chyba robił robotę ”na odpitol”, byle jakieś tam było. No bo jak można było pomyśleć o wsparciu kolorów edytora, jednocześnie nie myśląc o kolorze jego tła…? :/

Albo wspieramy kolorystykę edytora w całości, ale w ogóle i używamy jakiejś predefiniowanej palety.


Tak swoją drogą to opcja ta jest dość biedna (pomijając bug związany ze statycznym kolorem tła).

Fajnie by było, gdyby oprócz samego kodu, do dokumentu trafiło także numerowanie linii – nie jest to zbyt trudne do zrobienia. Można by się też zastanowić nad breakpointami. Natomiast jeśli o kolorystykę chodzi, to super by było, gdyby kod opatrzony nieaktywnymi dyrektywami (jak w przykładzie który podałem, kod w sekcjach $IFNDEF WINDOWS) był tak samo kolorowany jak w edytorze (u mnie: ciemniejszymi literami):

editor code.png

I fajnie by też było, gdyby dało się wyeksportować tylko zaznaczone linie aktywnego dokumentu, a nie całego modułu. A jeśli mowa o całych modułach, to dobrze by było wyeksportować wszystkie (wszystkie projektu, wszystkie otware w edytorach lub w wybranym edytorze).

Poza tym przydałby się jakieś pośrednie okienko dialogowe z możliwością wyboru nazwy docelowego pliku, a także kilku podstawowych opcji (wybór schematu kolorów, elementów edytora i kodu itd.) oraz podgląd ”wydruku”, tak aby przed zapisem było wiadomo jak kod będzie wyglądać. Całość najlepiej w formie prostego kreatora, na kształt instalatorów. Zwykły SaveDialog to stanowczo za mało.

Dlaczego nikt o tym nie pomyślał? Nie mam pojęcia…


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 13x, ostatnio: flowCRANE
vpiotr
My tu raczej nie pomożemy, też sugeruję przynajmniej http://wiki.freepascal.org/How_do_I_create_a_bug_report
flowCRANE
Pisałem już, że wiem co to bug tracker i jak się raportuje błędy, ale nie mam dostępu do konta, bo zapomniałem danych do logowania i nie mam możliwości ich przywrócenia. Tego i poprzedniego posta nie napisałem licząc na to, że ktoś to zobaczy i naprawi te problemy. Wyraziłem jedynie frustrację spowodowaną jakością tych narzędzi.
cerrato
A pytanie z innej beczki - po co się używa eksportu do HTML? W życiu nie miałem takiej potrzeby i się zastanawiam, czy po prostu nie umiem korzystać z tego przydatnego narzędzia, czy jest to jakiś gadżet i typowy wodotrysk. Dacie przykład sytuacji (realnej, a nie hipotetycznej), w której się z tego korzysta?
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)