Praca z git z IDE czy z terminala?

Praca z git z IDE czy z terminala?

Wątek przeniesiony 2022-12-22 20:58 z Inżynieria oprogramowania przez Riddle.

MJ
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad rok
  • Postów:86
0

Uczę się właśnie Git-a, a właściwie Bash-a. Wszystko fajnie tylko zacząłem mieć wątpliwości, czy w pracy również korzystacie z Bash-a, czy raczej bazujecie na wtyczce do Visual Studio, a tym samym nauka Bash-a nie ma większego sensu na początku przygody z programowaniem? Moje wątpliwości wynikają z samej idei pracy z Bash-em który najpierw przenosi pliki z repozytorium do katalogu roboczego i dopiero wówczas możemy uruchomić nasz projekt w VS. Wydaje mi się to trochę działaniem dookoła. Chyba szybciej i wygodniej jest skorzystać z wtyczki do VS dzięki której bezpośrednio łączymy się z repozytorium, a proces pobierania do przestrzeni roboczej odbywa się można powiedzieć w tle w sposób automatyczny. Czy programując zawodowo korzystacie z Bash-a?

edytowany 1x, ostatnio: Riddle
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10056
0

Odpowiednie narzędzie do odpowiedniego celu.

Jeśli integracja z gitem w IDE (IntelliJ, Rider czy Visual Studio) ma odpowiednie funkcje (commit, push, pull, cherry-pick) to można użyć tej z IDE. Jeśli jakiś feature nie jest wspierany, np w IntelliJ niestety nadal nie da się zrobić git rebase --exec to nie ma innego wyjścia i trzeba odpalić z command line'a.

Możesz też po prostu używać tego co Ci się podoba.

edytowany 2x, ostatnio: Riddle
K5
Nie chcę mi się googlowac, co robić to exec?
Riddle
@kixe52: Nie chcę mi się googlowac to nie zasługujesz na żadną pomoc.
K5
Pisząc komentarz robiłem to z telefonu leżąc w łóżku. W takiej sytuacji człowiek jest bardziej leniwy
MJ
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad rok
  • Postów:86
0
Riddle napisał(a):

Odpowiednie narzędzie do odpowiedniego celu.

Jeśli integracja z gitem w IDE (IntelliJ, Rider czy Visual Studio) ma odpowiednie funkcje (commit, push, pull, cherry-pick) to można użyć tej z IDE. Jeśli jakiś feature nie jest wspierany, np git rebase --exec to nie ma innego wyjścia i trzeba odpalić z command line'a.

Dzięki :)

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:2 minuty
  • Postów:8403
2
Michał Jasiński napisał(a):

Uczę się właśnie Git-a, a właściwie Bash-a. Wszystko fajnie tylko zacząłem mieć wątpliwości, czy w pracy również korzystacie z Bash-a, czy raczej bazujecie na wtyczce

Wróć, bo coś pokręciłeś.

Przez Bash chyba na myśli CLI/terminal, a nie samego Basha?

Moje wątpliwości wynikają z samej idei pracy z Bash-em który najpierw przenosi pliki z repozytorium do katalogu roboczego i dopiero wówczas możemy uruchomić nasz projekt w VS. Wydaje mi się to trochę działaniem dookoła

A tutaj już nie bardzo rozumiem, co masz na myśli? Czy chodzi ci o git clone? git pull? O to, że są remote'y i trzeba mieć z tyłu głowy, że tutaj mamy lokalne repo, a tu remote?

I w jaki sposób masz inny(lepszy?) workflow za pomocą wtyczki?

z repozytorium

Ale wiesz, że repozytorium to zarówno to, co masz na serwerze, jak i twoja lokalna kopia repozytorium? Tak działa Git (w przeciwieństwie do niektórych innych systemów kontroli wersji - SVN zdaje się inaczej działa, jeśli ktoś z niego jeszcze korzysta)

bezpośrednio łączymy się z repozytorium, a proces pobierania do przestrzeni roboczej odbywa się można powiedzieć w tle w sposób automatyczny.

Co to znaczy "bezpośrednio łączymy się z repozytorium"? Przecież w linii komend też się bezpośrednio łączysz ze zdalnym repo. I też proces pobierania odbywa się w sposób automatyczny. Robisz git pull i się pobierają dane.

przestrzeni roboczej

Co masz na myśli przez przestrzeń roboczą?

Albo ja nie rozumiem, co masz na myśli (być może dlatego, że nie korzystam z VS), albo ty nie rozumiesz do końca, jak działa Git i masz jakieś dziwne wyobrażenia. model mentalny).


edytowany 7x, ostatnio: LukeJL
  • Rejestracja:prawie 8 lat
  • Ostatnio:5 miesięcy
  • Postów:120
1

Czemu nie dwa na raz, z konsoli wiele rzeczy szybciej, ale np merge już nie. Ja mieszam.

markone_dev
  • Rejestracja:około 3 lata
  • Ostatnio:5 minut
  • Postów:812
1

Ja robię większość z poziomu IDE (VS Code oraz Visual Studio). Jak czegoś nie da się zrobić w IDE lub łatwiej to zrobić z poziomu CLI to robię to przez CLI. Wielu programistów z którymi pracowałem robi w ten sposób.


Programujący korpo architekt chmurowy.
Udzielam konsultacji i szkoleń w obszarze szeroko pojętego cloud computingu (Azure, AWS) i architektury systemów IT. Dla firm i prywatnie.
DevOps to proces nie stanowisko.
edytowany 1x, ostatnio: markone_dev
somekind
Czyli nie robisz wszystkiego z poziomu IDE. :P
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 3 godziny
  • Postów:3169
1

U mnie: 80% - konsola. 20% UI (glownie przegladanie historii, robienie diffow itp.). Konsola daje wieksza kontrole + mam porobione aliasy wiec po prostu przewaznie jest szybciej. Zwlaszcza jesli pracuje na Linuxie, gdzie konsole mam pod klawiszem jak w Quake.

TS
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 4 godziny
  • Postów:853
4

Wyobraź sobie tłumaczenie git workflow komuś kto korzysta tylko z IDE. Zawsze rozpoczynam uczenie kogoś od pokazania mu podstawowych komend w konsoli bo pokazywanie komuś przycisku do kliknięcia mija się z celem. Nie zrobisz z nikogo inżyniera tłumacząc mu w ten sposób. Jeżeli już rozumiesz całe workflow robiąc wszystkie komendy z konsoli to sobie korzystaj z IDE, o ile uznasz, że to jest dla Ciebie bardziej efektywne. Ale zwykle nie jest. Ja na przykład wszystko robię z konsoli.

TS
Co jest takiego zabawnego?
L0
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 2 lata
1

U mnie w pracy większość używa CLI. Wtyczki w IDE używają głównie juniorzy i dotnetowcy :)

Moje wątpliwości wynikają z samej idei pracy z Bash-em który najpierw przenosi pliki z repozytorium do katalogu roboczego i dopiero wówczas możemy uruchomić nasz projekt w VS. Wydaje mi się to trochę działaniem dookoła. Chyba szybciej i wygodniej jest skorzystać z wtyczki do VS dzięki której bezpośrednio łączymy się z repozytorium, a proces pobierania do przestrzeni roboczej odbywa się można powiedzieć w tle w sposób automatyczny

To co tutaj napisałeś ewidentnie wskazuje na to, że nie wiesz jak działa git. Polecam się douczyć, zaczynając od teorii, a potem przechodząc do CLI.

edytowany 1x, ostatnio: ly000
MJ
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad rok
  • Postów:86
0

Dzięki Panowie, kilku z Was wyjaśniło mi w trzech żołnierskich słowach ideę korzystania z CLI vs IDE

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
5

Ja wykorzystuję Magit (98% Magit / 2% CLI) i sam nie wyobrażam sobie na co dzień odpalać komend głównie z konsoli.

Dzięki Magitowi nie tylko większość komend mam w zasięgu dwóch klawiszy (np. pusz to p p, pusz forse to p -f p, fecz to f a, rebase interaktywny to r i, utworzenie nowego worktree * b itd.), ale oferuje on również sporo rzeczy ciężko osiągalnych z poziomu samego CLI - przykładowo otwierając log commitów (l l):

screenshot-20221223074817.png

... mogę strzałkami wybrać commit, po czym odpalam M-x magit-checkout i voilá jestem na commicie; z tego widoku mogę też zrobić r k (które wykonuje rebase usuwający wskazany commit), r w (rebase pozwalający na zmianę tytułu wskazanego commitu) albo r m (rebase zmieniający zawartość wskaznego commitu).

Nie są to oczywiście rzeczy, których nie da się zrobić inaczej, ale np. takie r w z konsoli wymagałoby odpalenia git log, skopiowania hasza commitu do schowka (z wykorzystaniem myszki, bleh), potem git rebase -i, namierzenia tego commitu na liście commitów do zrebase'owania i, ostatecznie, zmiany na reword; z poziomu Magita jest to prostsze.

Z innych fajnych bajerów - l l pokazuje log obecnego brancza, ale samo l odpala pomoc dla polecenia log:

screenshot-20221223075916.png

Niby podobne do man git log, ale jednak ładniejsze - dodatkowo każda widoczna tutaj opcja jest możliwa do zapisania jako domyślna: np. jeśli ktoś nie chce mieć predefiniowanego -g, to można zrobić -g (które tę opcję odznaczy), po czym C-x C-s (które zapisze obecny widok jako domyślny); git config na sterydach, bez konieczności zapamiętywania rzeczy w stylu o kurczę jak nazywa się ta opcja, która robi pull rebase jako domyślny.

Magit jako wtyczka do Emacsa (a nie osobna aplikacja) oznacza też, że ma się za darmo diffy (w takiej samej skórce oraz kolorowaniu składni jak edytor) oraz możliwość skakania do plików bez konieczności kopiowania ścieżek między CLI a edytorem - otwieram sobie listę commitów, klikam enter i:

screenshot-20221223080423.png

... gdzie przechodząc po diffie kliknięcie Enter otwiera dany plik w wersji z commita, a Ctrl + Enter w wersji z HEADa.

Istnieje też wtyczka do robienia code review prosto z Magita (wspierająca GitHuba i GitLaba), ale nie miałem jeszcze okazji potestować :-)

Podsumowując, Magit (tudzież inne narzędzia GUI / GUI-like) nie umożliwia fundamentalnie więcej ¹ niż to, na co pozwala sam Git - ale takie narzędzia sprawiają, że robienie niektórych rzeczy jest dużo łatwiejsze. Na przykład przed Magitem niezbyt chciało mi się bawić w ad hoc rebase'owanie albo zmiany tytułów commitów, bo z CLI jest to niewygodne - a w Magicie raz, dwa i po bólu; niby 15 sekund w konsoli, a 5 sekund z poziomu Magita to niewielka różnica, ale mentalnie pozostawia to całkowicie inne wrażenie; teraz korzystając z konsolowego Gita czuję, jak gdybym poruszał się w smole :-P

Choć oczywiście osobom początkującym polecałbym zaczynanie od wersji terminalowej - zrozumienie modelu mentalnego Gita jest ważne i pozwala na uniknięcie niezręcznych sytuacji w przyszłości.

¹ znam tylko jeden przykład rzeczy, którą da się zrobić (tutaj akurat) z IntelliJ, a nie da (łatwo) z konsolowego Gita: jest to AST-based conflict resolution; tj. środowiska IntelliJ pozwalają na rozwiązywanie konfliktów w oparciu o AST, co pozwala na automatyczne rozwiązanie rzeczy w stylu use foo::{A, B}; + use foo::{B, C}; = use foo::{A, B, C}; (w Gicie jest to konfliktem, bo obydwa diffy ruszają tę samą linijkę, podczas gdy w AST jasno widać, że zmiany nie kolidują, bo jeden dodaje import na A, a drugi import na C); widać to na screenshocie tutaj (ta różdżka, Resolve Automatically, rozwiązuje konflikt na bazie AST właśnie); Magit tego nie wspiera i nie powiem, że trochę mi tego ficzera brakuje!


edytowany 8x, ostatnio: Patryk27
WhiteLightning
Tylko uzywanie takich ulatwiaczy jest zdradliwe, jak nagle sie okazuje ze trzeba cos zrobic na kompie/serwerze gdzie nie ma ulatwienia, a czlowiek sie do dobrego przyzwyczail, albo na rozmowie skladnie pamietac :)
Patryk27
Magit działa również seamless po SSH, więc i wtedy można bez problemu :-) Ale tak, podstawy warto znać tak czy siak.
heyyou
  • Rejestracja:ponad 6 lat
  • Ostatnio:2 dni
  • Postów:182
2

programuje juz 6 lat a nadal boje sie robic jakies merge/rebase w visual studio (ide) i robie wszystko w konsoli

RequiredNickname
  • Rejestracja:prawie 5 lat
  • Ostatnio:około 18 godzin
  • Postów:615
1

Ja generalnie mieszam: przeglądam historię, robię commity,zarządzam branchami, rebase'uje swój branch z devem z poziomu intellij'a ale już np. cherry pick czy rebase intreractive na swoim branchu robie z terminala (robię to rzadko dlatego nie miałem na tyle samozaparcia aby poszukać tych ficzerów w IDE).

opiszon
W intellij trzeba coś szukać? "Shift shift cherrypick" ? ;-)
abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:7 miesięcy
  • Postów:6610
3

nikt nie bierze pod uwagę zewnętrznego (nie związanego z IDE) toola?


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
WhiteLightning
Ja czesto przegladam historie w gitk.
Eldorad O.
  • Rejestracja:około 6 lat
  • Ostatnio:4 dni
  • Postów:517
0

Merge conflicty tylko w GUI, wkurza mnie ta operacja na terminalu, cała reszta w CMD.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10056
2

Rzeczy które ja robię z IDE:

  • rebase on branch
  • checkout na branch i commit hash
  • pull (update + rebase on current)
  • commit, commit --amend
  • nowe branche i usuwanie branchy (w tym na remote)
  • cherry-pick
  • squash i fixup
  • nowe tagi
  • push, push force

Rzeczy które robię z CLI:

  • rebase na commit hash
  • checkout na commit hash
  • git fetch
  • git reset
  • interactive rebase
WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 3 godziny
  • Postów:3169
3

Jeszcze jeden argument, Ze warto ogarniac z poziomu konsoli: czesto przy wszelkiego rodzaju automatyzacji CI, pipelinach na gitlabie, jobach Jenkinsowych itp. trzeba sobie zakodowac operacje na gicie w skrypcie (chociaz fakt, przewaznei to sa banalne rzeczy)

CZ
  • Rejestracja:ponad 8 lat
  • Ostatnio:około miesiąc
  • Postów:2284
1

Z osobistego doświadczenia to polecam konsole. Najszybciej i jak sie nauczysz komend to wbrew pozorom jest najprościej. W dodatku wiesz co siepod kopułą dzieje a jak robisz coś przez IDE albo te programy do gita to nie wiesz.
Już nieraz się na takim sourcetree przejechałem.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:dzień
1

90% konsola, ale TortoiseGit do rozwiązywania konfliktów.

Brakuje mi w Visual Studio opcji całkowitego wyłączenia integracji z Gitem. Z jakiegoś powodu nie radzi sobie z używanym w projekcie repo, wpada czasem w jakąś nieskończoną pętlę odpalając proces Gita w kółko i zamulając kompa. Muszę ręcznie kasować git.exe używany przez VS. Niestety aktualizacja VS przywraca ten plik i jak widzę że problem powrócił to muszę znowu git.exe kasować.

edytowany 1x, ostatnio: Azarien
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 15 godzin
  • Postów:5108
0

GitHub Desktop / Git Kraken? any1?

edytowany 2x, ostatnio: WeiXiao
SA
+1 dla Krakena.
Hrypa
  • Rejestracja:około 18 lat
  • Ostatnio:około miesiąc
1

Na dłuższą metę myślę, że narzędzie nie ma większego znaczenia. Ja używam od ponad 10 lat Git Extensions + terminala i sobie chwalę:P
Z drugiej strony każdemu, kto nie czuje się pewnie w gicie (tzn. nie rozumie bardzo dobrze, co dzieje się na drzewie commitów przy poszczególnych operacjach, nie wie, co to index, stash itp.), zdecydowanie polecam czystą konsolę. Zwłaszcza że IDE często narzucają swoją nomenklaturę niespójną z gitem (jakieś check-iny, synci itd.), co utrudnia zrozumienie jego filozofii.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Laska, z Polski
  • Postów:10056
0
Hrypa napisał(a):

Zwłaszcza że IDE często narzucają swoją nomenklaturę niespójną z gitem (jakieś check-iny, synci itd.), co utrudnia zrozumienie jego filozofii.

Te które narzucają to narzucają. IDE od JetBrains tak nie robi i checkout to checkout, a cherry-pick to cherry-pick.

edytowany 2x, ostatnio: Riddle
RequiredNickname
Ale np stash w intellij nazywał się inaczej
Riddle
@RequiredNickname: nie, nazywał się również stash. Oprócz tego było narzędzie takie jak Shelve, ale ono nie ma nic wspólnego z gitem, mogłeś po prostu usunąć zmianę z systemu plików i zapisać w IDE celem ich późniejszego przywrócenia. Ale komenda Git -> Stash oczywiście nadal jest i ona robi stasha. Shelve można używać nawet jak nie masz gotowego repo w projekcie ani nawet gita zainstalowanego.
Marius.Maximus
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 8 godzin
  • Postów:2068
1

git w VSCode to chyba najczęściej
jak chce mieć szersze spojrzenie na repozytorium to GitKraken
jak robię przemeblowanie w folderze to TortoiseGit
jak nie ma gui to wszystko z konsoli


--
Nie przyjmuję reklamacji za moje rady, używasz na własną odpowiedzialność.
Programowanie bez formatowania to jak chodzenie ze spodniami spuszczonymi na kostki. Owszem da się ale po pierwsze nie wygodne, po drugie nieprzyzwoicie wygląda.
Przed zaczęciem nowego wątku przeczytam problem XY
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:2 minuty
  • Postów:8403
1

ja w VSCode korzystam tylko z tego, że mi robi diffy i pokazuje, które pliki są zmodyfikowane.


Zobacz pozostały 1 komentarz
LukeJL
tak, i git diff też robię przed commitem. A potem git add -p na kolejnych plikach. Jednak to nie to samo, bo wygodnie jest już na poziomie pisania kodu w edytorze widzieć, które linijki są zmienione, które nie. Pozwala to też łatwo odnaleźć wizualnie miejsca w kodzie, na których aktualnie pracuję.
LukeJL
swoją drogą widzę, że jak się kliknie w VSCode te diffy po boku, to otwiera się okienko z podglądem i można kliknąć ikonkę plusa, który robi stage change. Ciekawe, wypróbuję taki model pracy, bo to trochę jak git add -p, tylko że od razu w edytorze.
Marius.Maximus
"stage change" jedna z cudowniejszych funkcji GIT-a, jak musze czasami uzywac SVN to zawsze mi tego brakuje
LukeJL
ja używałem SVN pewnie z jakieś 2h w życiu, jak się kiedyś uczyłem tego zanim się zacząłem uczyć Gita.
Azarien
@Adamek Adam: jak muszę czasami użyć SVN to używam git-svn, czyli lokalnie mam repo Gita tylko z SVN-owym remote'em.
ledi12
  • Rejestracja:ponad 5 lat
  • Ostatnio:21 dni
  • Lokalizacja:Wrocław
47

A ja lubię tortoise :D


Robię http response status cody w martwych ciągach
Ktos
Ja też – do robienia commitów i do robienia diffów.
Marius.Maximus
Ja też - do robienia git clone i "Adnotuj" :D
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Wrocław
1
twoj_stary_pijany napisał(a):

Wyobraź sobie tłumaczenie git workflow komuś kto korzysta tylko z IDE. Zawsze rozpoczynam uczenie kogoś od pokazania mu podstawowych komend w konsoli bo pokazywanie komuś przycisku do kliknięcia mija się z celem.

Czemu? Efekt działania komendy, jak i kliknięcia jest ten sam. Różnica taka, że w GUI natychmiastowo i czytelnie widać efekty.

Nie zrobisz z nikogo inżyniera tłumacząc mu w ten sposób. Jeżeli już rozumiesz całe workflow robiąc wszystkie komendy z konsoli to sobie korzystaj z IDE, o ile uznasz, że to jest dla Ciebie bardziej efektywne. Ale zwykle nie jest. Ja na przykład wszystko robię z konsoli.

Efektywność można zmierzyć liczbą ruchów palców bądź liczbą popełnionych błędów. GUI wygra, bo jednego i drugiego jest mniej.

W konsoli robię to, co szybciej, czyli aktualizowanie mastera będąc na feature branchu. (Co jest zdaje się czarną magią dla większości ekspertów od konsoli.)

1a2b3c4d5e napisał(a):

GitHub Desktop / Git Kraken? any1?

Nie mam pojęcia, które gorsze. Ale prawdopodobnie oba lepsze niż Tortoise.

abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:7 miesięcy
  • Postów:6610
2

ja tylko dodam, że po wielu próbach różnych klientów aktualnie od dłuższego czasu używam git extension - lekki (dużo lżejszy od krakena), wbudowana konsola GITa, czytelny i ma wszystko czego potrzebuję. BTW GH Desktop działa tylko z GH o ile dobrze kojarzę


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
somekind
Również polecam Git Extensions - ma wszystko, i nie próbuje przykryć poleceń gitowych swoją własną nomenklaturą.
Hrypa
A więc jednak ktoś oprócz mnie tego używa:) Faktycznie, dużym plusem Git Extensions jest to, że pokazuje wszystkie konsolowe polecenia, które wykonuje po ich wyklikaniu. Można się dzięki temu sporo nauczyć, zwłaszcza o mniej popularnych flagach wielu poleceń.
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:dzień
8

Skorzystam z okazji by przypomnieć forumowiczom, że ten program nazywa się Git, i nie jest to od niczego skrótowiec, więc nie pisze się go GIT.

Również nie ma takiego programu jak SVN, tylko jest Subversion. Ale to 11 liter kontra 3 i nawet polecenie jest svn, więc można wybaczyć :)

Co innego wcześniejszy Concurrent Versions System (w skrócie CVS) i jeszcze wcześniejszy Revision Control System (w skrócie RCS).

edytowany 3x, ostatnio: Azarien
WhiteLightning
Czepiasz sie :P Ale masz racje...
RequiredNickname
No spoko tylko jakie to ma znaczenie? Co to zmienia?
Azarien
A musi cokolwiek zmieniać?..
RequiredNickname
Nie rozumiem po co ta próba prostowania uogólnień. Trochę jak kiedyś poprawianie łaków z GNU/Linuksem ;)
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 15 godzin
  • Postów:5108
1

git to nie skrót od github? przecież to tam się robi repo /s </joke>

edytowany 3x, ostatnio: WeiXiao
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)