Problem z Runnable JAR File

Problem z Runnable JAR File
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Stworzyłem pewien projekt w javafx i są w nim zdjęcia. W Eclipse wybieram standardowo Export i Runnable JAR File i następnie kończę proces exportu po czym otwieram poprzez podwójne kliknięcie utworzony plik i on oczywiście działa tak jak powinien - wszystko jest w jednym pliku JAR. Ale problem pojawia się kiedy... przenoszę ten plik w inne miejsce np. na pendrive-a lub do innej lokalizacji na dysku - wówczas okazuje się, że... program działa, ale zdjęcia się w nim nie pokazują. Nie spotkałem się nigdy z podobnym problemem i nie wiem co może być tego powodem - miał ktoś może podobny problem? Bardzo proszę o pomoc...

Burdzi0
  • Rejestracja:prawie 9 lat
  • Ostatnio:5 miesięcy
  • Lokalizacja:Futurama
  • Postów:887
1

Strzelam w ciemno - nie pakujesz wszystkich dependencies.
Czym budujesz aplikację? Jakiś Maven/Gradle?
Fat jarpowinien chyba załatwić sprawę.


Bite my shiny metal ass!
Life throws you an error code like that, you don't have the luxury of a ZnVja2luZw== pop-up explanation *Robię projekty studenckie, pisz priv ;) *
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Nie, zwykły JavaFx Project i inne projekty które robiłem tak samo kilka miesięcy temu mi działają cały czas (w sensie pliki Jar z tych plików)...

Schadoow
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 21 godzin
  • Postów:1067
0

Tak tylko dla pewności spytam w jaki sposób ładujesz te zdjęcia ?
Zajrzyj do środka jar'a czy znajdują się tam te zdjęcia.

M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Tak, są, sprawdzałem to i w tych co mi działały też były dlatego właśnie mnie to tak dziwi....

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

Klasyka :P "JAK" ładujesz te zdjecia? Przez get class resources? Zgaduje że nie. Że masz tam jakieś ścieżki "na pałe" a to tak nie zadziała. Czytanie plików z wnętrza jara wymaga odpowiedniego mechanizmu. Potrzebujesz czegoś w stylu

Kopiuj
getClass().getResourceAsStream("/zdjecie.jpg"); 

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 3x, ostatnio: Shalom
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

new Image(getClass().getResource("logo.png").toExternalForm())

Ale wcześniej też tak ładowałem i działało normalnie...

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0

A nie podajesz - mimo wszystko - ścieżek bezwzględnych od tych zdjęć tzn. ścieżki do JARa i dopiero od JAR-a dalszą ścieżkę do resource'ów (zdjęć) wewnątrz?

Sprawdź, czy gdzieś pod spodem nie ma czegoś takiego:

Kopiuj
...
Caused by: java.io.FileNotFoundException: /app_path/application.jar!/BOOT-INF/classes!/images/image.png

M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Nic się nie pojawia w konsoli jako błędy czy ostrzeżenia... Projekt normalnie startuje w Eclipse i jako Runnable Jar też tylko jak go przenoszę w inne miejsce to nie działają zdjęcia... I taki sposó działał w innych aplikacjach... Nie podawałem bezwzględnych ścieżek tylko właśnie względne żeby uniknąć tego że jak plik się usunie (otworzę Jara na innym komputerze gdzie nie będzie tych plików w bezwzględnych ścieżkach) to wtedy by na pwno nie zadziałało....

Burdzi0
  • Rejestracja:prawie 9 lat
  • Ostatnio:5 miesięcy
  • Lokalizacja:Futurama
  • Postów:887
1

Jak odpalasz program w konsoli?
Czy używasz?:

Kopiuj
java -jar NazwaTwojegoPlikuJar.jar

Jak wygląda struktura katalogów pakowanej aplikacji?

program działa, ale zdjęcia się w nim nie pokazują.

To co się pokazuje? Screen mile widziany


Bite my shiny metal ass!
Life throws you an error code like that, you don't have the luxury of a ZnVja2luZw== pop-up explanation *Robię projekty studenckie, pisz priv ;) *
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Odpalam przez Ecpilsa, ale w konsoli w Eclipse nie pojawiają się żadne błędy...!

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

tylko jak go przenoszę w inne miejsce to nie działają zdjęcia

Czarów nie ma. Albo masz w kodzie klasyczne idotyczne

Kopiuj
catch(Exception e){
//a na co mi to?
}

albo jednak w konsoli są wyjątki. Odpalasz ten program z konsoli przez java -jar czy po prostu dwuklik? Bo po dwukliku nie ma konsoli a więc też logów na stdout

Odpalam przez Ecpilsa, ale w konsoli w Eclipse nie pojawiają się żadne błędy...!

No cieszymy sie, ale eclipse odpala z innymi scieżkami. Przenieś jara w inne miejsce i odpal go z konsoli łaskawie. Albo wrzuć to tego jara i zrobimy to za ciebie. Albo podlinkuj githuba. Niestety w innym wypadku muszę iść na strych po szklaną kulę.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Nie mam pustych catchów, to jest bardzo prosty program... Odpalam przez dwuklik...

Burdzi0
  • Rejestracja:prawie 9 lat
  • Ostatnio:5 miesięcy
  • Lokalizacja:Futurama
  • Postów:887
0

Aby otrzymać pomoc musisz odpowiadać na pytania.
Spróbuj przenieść swoją aplikację i uruchomić za pomocą konsoli/terminala używając wyżej wymienionej komendy, a nie przez Eclipse
Masz windowsa więc przejdź do folderu zawierającego twój plik jar, otwórz menu i wybierz odpowiednią opcję uruchomienia konsoli.
Jeżeli możesz tylko PowerShell to włącz go, wpisz cmd i klepnij enter, a następnie komendę, o której wspomniałem wyżej.
Wrzuć tutaj wszystko co się pojawi (za pewne stack trace błędów).


Bite my shiny metal ass!
Life throws you an error code like that, you don't have the luxury of a ZnVja2luZw== pop-up explanation *Robię projekty studenckie, pisz priv ;) *
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Pojawia się coś takiego, a więc bez błędów i bez zdjęcia...

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

Dej tego jara bo do niczego nie dojdziemy
Ale jak znajdę pustego catcha to obiecuje że cię znajdę... :D


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Kraków
  • Postów:1999
1

Skoro nie używasz żadnego mavena/gradle tylko tak po prostu sklecasz runnable JARa w Eclipse, to jaką masz gwarancję, że Twoje obrazki w ogóle lądują w JARce? :P

  • Otwórz ten Twój JAR wypluty przez Eclipse w jakimś WinRAR (tak, to jest zwykłe skompresowane archiwum, tylko nafaszerowane odpowiednimi plikami aby JRE mogło to archiwum wykonać) i spróbuj odnaleźć te pliki. Pewnie ich tam nie ma, jak już sugerował @Burdzi0 - nie sprawdziłeś tego, tylko kręcisz się w kółko i zarzekasz że się zrobiło i powinno działać i nie wiesz czemu nie działa, prawda? :P
  • W międzyczasie zrób, o co proszą, i odpal z konsoli, a nie dwu-klikiem. Niby gdzie mają się printować ewentualne błędy, skoro nie robisz ani bloków try-catch które mogłyby np. otworzyć Ci error prompt z jakąś informacją o błędzie, ani nie możesz zobaczyć outputu ze stdout / stderr? :P
  • spróbuj użyć jakichś cywilizowanych build tooli (gradle/maven) zamiast jakiegoś automagicznego exportera Eclipsa, którego pewnie nawet nie konfigurowałeś tylko odpaliłeś z defaulta ;) korzystając przy okazji z tutoriali/dokumentacji by ogarnąć, jak pakować nimi różne zasoby do JARa :P

edytowany 3x, ostatnio: superdurszlak
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

U mnie działa. Ale robisz tam:

Kopiuj
Image image = new Image(this.getClass().getResource("logo.png").toExternalForm());

i nie jestem do końca pewien takiej względnej ścieżki, może tu gdzieś leży problem na innej wersji javy


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

No to ja już kompetnie nie wiem o co chodzi...
Kiedyś też robiłem takie jary i one mi teraz też działają a ten co zrobiłem teraz jak pokazywałem na screenach nie działa (zdjęcie w sensie) jak przeniosę na inny nośnik...

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
marcin070707 napisał(a):

No to ja już kompetnie nie wiem o co chodzi...

Nie mówi się nie wiem o co chodzi, tylko muszę sprawdzić dokładniej o co chodzi :p

Weź sprawdź na przykład, z jakich wersji JDK i JRE korzysta Eclipse w Twojej konfiguracji, jakie wersje Javy masz w ogóle zainstalowane (gdzieś pod C:\Program Files\Java lub czymś podobnym) - i sprawdź, jaka wersja JRE jest faktycznie używana do odpalenia JARa gdy otwierasz go spoza Eclipse.

I skoro masz tak silne opory przed odpalaniem swojego programu z konsoli, to weź chociaż dorzuć do programu (na potrzeby debugowania) AlertBoxa (czy jak to tam się w JavaFX nazywało, dawno nie używałem JavaFX) który wyrzuci Ci na ekran ścieżkę do pliku zwracaną przez ten Twój łańcuszek z getResource w roli głównej - i porównaj sobie co zwraca gdy odpalasz w Eclipse, z palca dwu-klikiem oraz rzeczywiste miejsce przesiadywania pliku. Łatwiej Ci będzie szukać błędu gdy będziesz widział, co Twój program próbuje robić pod spodem :p


catom
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:58
0
marcin070707 napisał(a):

No to ja już kompetnie nie wiem o co chodzi...
Kiedyś też robiłem takie jary i one mi teraz też działają a ten co zrobiłem teraz jak pokazywałem na screenach nie działa (zdjęcie w sensie) jak przeniosę na inny nośnik...

Sprawdź, czy nie masz jakichś bloków try-catch, których mógłbyś się pozbyć, żeby aplikacja Ci się po prostu wywaliła z jakimś błędem - tj. nie obsługuj wyjątków, tylko jeśli coś się ma wywalić, niech tak się stanie.
Jeśli masz tam jakieś checked exceptions, których nie chcesz propagować - na chwilę opakuj je w jakiś RuntimeException i rzuć ten wyjątek z bloku catch.
Spakuj sobie takiego JARa i spróbuj zbadać zachowanie aplikacji.

Dodatkowo, jak pisał @superdurszlak, dodaj sobie jakieś komunikaty o tym, czy udało się znaleźć / otworzyć plik, jaka jest ścieżka (względna, bezwzględna) do tego pliku itd.
A może plik wczytuje się prawidłowo, tylko jest jakiś problem z renderowaniem?
Może wersja / konfiguracja Javy?

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

@superdurszlak @catom ale on wrzucił tego jara wyzej i on działa. Nie ma tam też żadnych catchy ;] Jedyne co przychodzi mi do głowy to inne handlowanie względnej ścieżki w jakiejś wersji javy.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
superdurszlak
właśnie o to chodzi - żeby zobaczyć co siedzi w tych ścieżkach gdy odpala to u siebie z JARki wtedy, kiedy nie działa ;)
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Wrzuciłem i screen z tym jak to wygląda u mnie po przeniesieniu na inny dysk i nie wiem jak to jest że u kogoś działa... Wrzuciłem też link do tego jara...
Mam:

  • jdk-8u202-windows-x64
  • jre-8u202-windows-x64
  • Eclipse IDE for Enterprise Java Developers, Version: 2018-12 (4.10.0), Build id: 20181214-0600
catom
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:58
0

@Shalom @marcin070707

Widziałem tego JARa i odpaliłem u siebie bez problemu na JDK 8 Oracle'a.
5c7973b51075a.png

Hmm... Nie wiem, może jednak tutaj z jakiegoś powodu aplikacja nie ma dostępu do System.err i nie wypisuje stack trace wyjątku, który jest przechwytywany w metodzie application.Main.start()?
screenshot-20190301190408.png

edytowany 1x, ostatnio: catom
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Przedziwna sytuacja - zrobiłem aplikację w jar, u mnie działa, ale jak przeniosę ją na inny dysk to nie działa, a ta sama aplikacja w tym samym pliku jar na innym komputerze (u osoby którą ją pobrała i odpaliła u siebie) też działa...

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Kraków
  • Postów:1999
3
marcin070707 napisał(a):

Przedziwna sytuacja - zrobiłem aplikację w jar, u mnie działa, ale jak przeniosę ją na inny dysk to nie działa, a ta sama aplikacja w tym samym pliku jar na innym komputerze (u osoby którą ją pobrała i odpaliła u siebie) też działa...

A teraz przenieś aplikację do ścieżki, która nie zawiera wykrzyknika :D

Aplikacja rzeczywiście działała, troszkę ją podrzeźbiłem by pokazywała ścieżkę, ale... Spójrz, co się stało, gdy utworzyłem sobie folder FOLDER! i umieściłem w nim JARa:

screenshot-20190301201101.png

Tak mnie jakoś naszło, jak zobaczyłem na jednym z Twoich zrzutów ten folder LUBIĘ TO!, że może Javę przerosło opanowanie np. polskich znaków i zacząłem się bawić - a tu proszę, znaki specjalne są niby enkodowane kodowaniem procentowym, ale wykrzykników to to nie tyka... no i wykrzyknik nabruździł :)

To teraz spróbuj zastąpić ścieżkę bezwzględną ścieżką względną i zobacz, czy będzie śmigać :P


edytowany 5x, ostatnio: superdurszlak
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Wygląda na to że faktycznie chodzi o to o czym napisałeś z tym wykrzyknikiem, bo jak przenoszę na ten sam dysk z folderem "LUBIĘ TO!" ale zmieniam nazwę na "LUBIE TO" to działa i u mnie :)

Tylko mam pytanie o co dokładniej chodzi z "To teraz spróbuj wywalić ścieżkę bezwzględną ścieżką względną i zobacz, czy będzie śmigać"?

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:Kraków
  • Postów:1999
2
marcin070707 napisał(a):

Tylko mam pytanie o co dokładniej chodzi z "To teraz spróbuj wywalić ścieżkę bezwzględną ścieżką względną i zobacz, czy będzie śmigać"?

Problem nie jest, z tego co widzę, nowy :) Spójrz, zgłoszenie z 2002r, a tu zgłoszenie do OpenJDK z 2001

Chodzi o to, że ta ścieżka nie jest normalną ścieżką - spójrz na przedrostek jar:file: przed ścieżką do pliku, oraz wykrzyknik po nazwie pliku JAR - wykrzyknik z grubsza oznacza miejsce, w którym kończy się "zwykła" ścieżka do pliku, a rozpoczyna ścieżka wewnątrz JARa (jak już wspomnieliśmy, JAR to tak naprawdę skompresowane archiwum), zatem ścieżka, która sama zawiera wykrzykniki, będzie robić dziada w trąbę :D

Gdyby udało się wymusić użycie wyłącznie ścieżki wewnątrz pliku JAR (czyli z pominięciem ścieżki do archiwum) ominąłbyś problem wykrzykników w ścieżce.

Spójrz jeszcze tu: https://www.geeksforgeeks.org/java-net-jarurlconnection-class-java/


edytowany 3x, ostatnio: superdurszlak
Burdzi0
Damn bro, that's awesome +1
M0
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 4 lata
  • Postów:16
0

Rozumiem, ale nie ma w takim razie metody jak to ominąć że folder w którym jest plik kończy się znakiem "!"? Nie jest to może mega problem bo zwykle tak nie jest, ale jednak może się tak zdarzyć jak u mnie teraz...

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)