Własne od zera skonfigurowane środowisko pracy vs IDE

Własne od zera skonfigurowane środowisko pracy vs IDE
whiteman808
  • Rejestracja:około rok
  • Ostatnio:około 7 godzin
  • Postów:101
1

Hej

Skonfigurowałem sobie ładnie od zera środowisko do programowania w oparciu o tmuxa, zsh, neovima i różne skrypty z githubów. Bardzo przyjemnie mi się na tym pracuje, wszystko mogę zrobić używając klawiatury. Nie lubię myszki. Czy takie coś jest w stanie zastąpić IDE takie jak CLion, RubyMine czy Eclipse? Czy IDE są tylko po to aby zapewnić przyjemny user experience czy jednak są pewne rzeczy, które jestem w stanie osiągnąć używając tylko IDE i których nie zrobię manualnie w terminalu?

Naprawdę dobrze mi się pracuje używając terminala i szczerze nie chce mi się klikać w Eclipse czy RubyMine. Chyba że są jakieś IDE, w których nie trzeba klikać.

Dziękuję i pozdrawiam

witeks44
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 4 godziny
  • Postów:186
3

Skoro obecna konfiguracja pozwala Ci pracować bez problemu to nic nie tracisz :D O jakiej stracie mówimy :D

whiteman808
  • Rejestracja:około rok
  • Ostatnio:około 7 godzin
  • Postów:101
0

Strat może i nie ma, pytanie jest za to dla was czy IDE jest coś w stanie zaoferować coś więcej czego nie będę w stanie osiągnąć używając terminala, czy jedynie używanie IDE sprowadza się jak sama nazwa wskazuje do bycia zintegrowanym środowiskiem programistycznym aka user experience i nic ponad to

onomatobeka
  • Rejestracja:około 9 lat
  • Ostatnio:około godziny
  • Postów:380
1

Jeśli Twoja praca polega tylko na pisaniu prostych skryptów - tak, zastąpisz efektywnie IDE.

AD
  • Rejestracja:ponad rok
  • Ostatnio:około 6 godzin
  • Postów:315
0

Debuger tam działa bez problemów? Jaki najwiekszy projket tak obsługiwałeś? Pracowałeś z kimś czy robisz projekty sam?

elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 14 godzin
2

Pracuję tak od ponad 12 lat i jest OK. Pewne udogodnienia wymagają włożenia pracy, ale przynajmniej środowisko jest szyte na miarę. Poza tym IDE zwykle są zbudowane w sposób bardzo dla mnie niewygodny. Za dużo rzeczy na raz, za dużo przycisków, itp. Terminal jest dla mnie lepszy. I to wcale nie prawda co @onomatobeka pisze. Robiłem tak i projekty w Perlu i w C i Ruscie. Nawet w Javie i nawet na androida. :p


edytowany 1x, ostatnio: elwis
onomatobeka
W przypadku Javy i jakiegoś frameworka to powodzenia bez możliwości łatwego przeskakiwania pomiędzy klasami, implementacjami, wygodnym debuggerem, globalnym refaktorem, szybkim generowaniem nowych elementów itp.; Co do ilości przycisków - w przypadku IDE od JetBrains możesz bardzo modyfikować wygląd interfejsu, praktycznie każdy 'przycisk' ukryć wg uznania, deaktywować popupy contextowe itd.
DR
@onomatobeka: Kek, a kto ci powiedział, że nie można tego robic? W tym momencie różnica jest taka, że np. w Intellij musisz spedzic czas by ukryc/wyłączyć. A w vim/emacs musisz poświęcić czas by włączyć funkcjonalności
KE
  • Rejestracja:około 6 lat
  • Ostatnio:około 8 godzin
  • Postów:658
1

Ściągnij triala IntelliJ i sam spróbuj. Chyba jest 30 dni za darmo.

Zaletą IDE jest "I" - czyli zintegrowane. Ja wiele razy podchodziłem do neovima, i naprawdę naprawdę chciałbym mieć wszystko w tym ekosystemie, taki nerd. Ale jak czytam setny tutorial, który polega na kopiowaniu tysięcy linii skryptów w Lua, ręcznym instalowaniu LSP, pluginów do podstawowych rzeczy typu debuggery czy git, to mi się odechciewa. W IJ wszystko działa samo, a jak nie działa to wyskakuje ci popup "wykryto terraforma, czy chcesz zainstalować plugin" i tyle w sumie.

Wiele też zależy, do jakiego języka/technologii tego używasz. Do basha często sięgam po samego vima. Ale Javy nie wyobrażam sobie edytować.

DR
Albo nie umiesz szukać informacji, albo dawno nie sprawdzałeś. https://github.com/nvim-lua/kickstart.nvim - dosłownie masz zrobić clone i włączyć nvim, wszystko się samo zaciągnie
KE
Kojarzę to akurat. Kojarzę też że są distro typu LazyVim. Jak mi się w pracy będzie nudzić to przetestuję. To tylko moje subiektywne odczucia odnośnie neovima :) samego vima używam chyba od 15 lat.
KE
Akurat z ciekawości sobie sprawdziłem ten kickstart, bardzo fajne. Niestety zajęło mi chyba 30 minut rozwiązanie problemu z solarized, bo jest jakaś dziwna interakcja tmuxa z kolorami i nie chciało to działać. A widzę że większość tutoriali do konfiguracji tego to są gigantyczne fragmenty kodu w Lua. Sam kickstart to prawie 1000 linii configu (wiem że to są pluginy). Jak kiedyś trafię do łóżka na L4 na tydzień, to sobie to ogarnę. Na teraz mam robotę do zrobienia i 80 linii vimrc daje mi wszystko czego potrzebuję. Do reszty jest IJ :)
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:minuta
  • Postów:4881
0
onomatobeka napisał(a):

Jeśli Twoja praca polega tylko na pisaniu prostych skryptów - tak, zastąpisz efektywnie IDE.

Powiedziałbym nawet, że jest odwrotnie, (w pewnym sensie) jeśli dużo korzystasz z ficzerów IDE, to znaczy, że piszesz mało kreatywny/odtwórczy kod.


Marius.Maximus
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 7 godzin
  • Postów:2062
0

@whiteman808: to TY znasz siebie i swoje problemy/wyzwania, co jest dobre dla mnie może zupełnie CI nie pasować, jakby było idealne IDE to wszyscy by go uzywali 😄

Najlepiej poświecić odrobinę czasu i przetestować kilka narzędzi i wyrobić sobie sobie zdanie na podstawie kontaktu własnej osoby z IDE i jak to sie ma do moich problemów które che rozwiązać.
Ja tak robiłem przy okazji przesiadki z Delphi na C++, przetestowałem najbardziej popularne i wybrałem to które akurat dla moich potrzeb i mojego sposobu pracy było moim zdaniem najlepsze


--
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
SL
  • Rejestracja:około 7 lat
  • Ostatnio:około 10 godzin
  • Postów:857
1

Jak dla mnie to optymalizacja czasu. Własne środowisko jest fajne, ale kosztuje masę kasy. W porównaniu do IDE:

  • musisz rozkminiać tooling każdego języka, gdzie w IDE wszystko działa z kopa
  • jest wiele opcji do każdej technologii. Chcę poklepać coś w terraformie w IDE to ściągam oficialny plugin i elo. W vimie muszę rozkminiać co jest teraz popularne
  • trzeba konfigurować ficzery samemu. Przykładowo nie chcę wymyślać mojej ulubionej konfiguracji różnych pluginów (i skrótków klawiszowych) samemu
  • moda się zmienia. Twój ulubiony setup w neovimie będzie wyglądał drastycznie inaczej w porównaniu do tego co było 10 lat temu. IDE od JetBrains nie zmieniają się tak drastycznie
  • musisz wiedzieć czego chcesz i to zainstalować. W IDE odkrywasz możliwe ficzery, bo wszystko już jest
  • brakuje fajnych integracji. Np. podpowiadanie SQLów w zależności od ustawionego kontekstu bazy danych
  • więcej części ruchomych, więc i większa szansa, że coś przestanie działać, bo tak

Podsumowując: wszystko możesz osiągnąć, jeśli masz czas i chcęci.

Chyba że są jakieś IDE, w których nie trzeba klikać.

Skróty klawiszowe działają dobrze w IJ, ale IMO głównym problemem jest możliwość klikania a nie złe klikanie. Jak możesz coś wyklikać to jest mniejsza szansa, że się nauczysz the keyboard way

Zobacz pozostały 1 komentarz
SL
Nie znam innego produktu niż platforma IntelliJ, która to wspiera
somekind
A takiego czegoś, to nie wygeneruje po prostu Copilot?
KE
@somekind: to działa tak, że w IntelliJ dodajesz sobie bazę danych (np. postgresa) z twojego projektu, i możesz ją przeglądać graficznie, podobnie do pgAdmina na przykład. Ale w tle IJ robi indeks wszystkiego co się w tej bazie znajduje. I potem jak w projekcie zaczynasz pisać SQL-e (jakoś to jest wykrywane, nawet jeśli to jest w chamskim stringu), to IJ zaczyna ci kolorować składnię i podpowiadać np. nazwy tabel, a jak jest literówka to zaznacza na czerwono.
SL
@somekind: wyobraź sobie, że pracujesz na osobnym pliku .sql, który ma wszystkie ficzery znane z IDE (syntax highliting, podpowiadanie, walidacja bazująca na rzeczywistym schemacie bazy danych) tylko na dowolnym stringu.
somekind
Brzmi spoko, super ficzer dla ludzi na etapie baz relacyjnych.
B1
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 5 godzin
  • Postów:368
0

IDE się najbardziej przydaje w korpo, gdzie chcemy by każdy miał identyczne, szybkie do konfiguracji środowisko by nowy junior/stażysta się szybko mógł działać z kodem jednocześnie jak najmniej marnując czas seniorom.

SL
Z drugiej strony to też antypattern. Co da się zrobić poza ide powinno się robić poza IDE. Przykładowo kiedyś "standardem" były projekty Javowe, gdzie konfiguracja projektu jest w Eclipsie. Na szczęście dużo się zmieniło wraz z nadejściem ery CI, gdzie tak czy owak wszystko musi być możliwe do uruchomienia z poziomu terminala
KE
Tak, to jest antypattern, zdecydowanie. Ale, z drugiej strony, widziałem zespoły które commitowały z folderu .idea na przykład configi wcięć, albo ignorowane warningi, run configurations, jakieś zmienne środowiskowe i takie podobne rzeczy, które nie wpływają na CI, a służą tylko do dewelopmentu. Ma to jakiś sens, zwłaszcza gdy 100% firmy używa IJ a też nie każdy chce się pakować w dockera.
AD
  • Rejestracja:ponad rok
  • Ostatnio:około 6 godzin
  • Postów:315
0
lion137 napisał(a):
onomatobeka napisał(a):

Jeśli Twoja praca polega tylko na pisaniu prostych skryptów - tak, zastąpisz efektywnie IDE.

Powiedziałbym nawet, że jest odwrotnie, (w pewnym sensie) jeśli dużo korzystasz z ficzerów IDE, to znaczy, że piszesz mało kreatywny/odtwórczy kod.

Możesz rozwinąć? Zaintrygowla mnie ta teza.

4w0rX4t4X
  • Rejestracja:prawie 2 lata
  • Ostatnio:około 2 miesiące
  • Postów:351
1

Kolejna durna dyskusja o wyższości "tabów nad spacjami".
A fakt jest taki, że jak ktoś pisze w wielu językach i faktycznie ma doświadczenie to wie, że dla pewnych języków są doskonałe IDE i rozważanie własnych konfiguracji jest zwykłą głupotą i stratą czasu a dla innych języków nie ma innej możliwości jak konfigurować na własną rękę bo zwyczajnie dedykowane IDE dla nichj nie istnieją lub są daremne.

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:minuta
  • Postów:4881
0
Adin napisał(a):

Możesz rozwinąć? Zaintrygowla mnie ta teza.

To co napisałem, IDE ułatwia pisanie powtarzalnego kodu/schematycznego kodu, jak zaznaczyłem, nie wszystkie jego cechy - np., plugin do gita.


somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:dzień
  • Lokalizacja:Wrocław
1
lion137 napisał(a):

To co napisałem, IDE ułatwia pisanie powtarzalnego kodu/schematycznego kodu

Ale które konkretnie cechy IDE to ułatwiają? Bo ctrl + c, ctrl + v to nie jest domena tylko IDE, to ma każdy edytor.


Po dopracowaniu rozwiązania każdy będzie mógł założyć własny drzewiasty wątek.
somekind
No pewnie ma inną kombinację. Chodziło mi o ideę. :)
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)