Sublime Text + Rails workflow

Co byście polecili, żeby usprawnić pracę przy Railsach/Rubym?
Piszę głównie Rails + jakiś webdev, czasem proste skrypty w Ruby.

Sublime Text jest fajny, ale przydałoby się ogarnąć go na tyle, żeby usprawnić sobie pracę. Wiecie, skróty klawiszowe, “ukryte” pomocne funckje.

Bo na razie używam Sublime’a jak notatnika, czyli piszę + klikam myszką :smiley:

Jakieś fajne tutki, wpisy na blogu, filmiki? Ew. Wasze sposoby.

no to jest jeszcze czas żeby sprawdzić vim+vim-rails+tmux :slight_smile:

3 Likes

Witam,
Rownież używam sublime + terminal na OS X
Ale tylko kiedy mam 1 podpięty monitor.
Skrót ctrl+p znacznie ułatwia i przyspiesza przeskakiwanie miedzy plikami.

Jako alternatywę polecam tez Aptane3 z wtyczka do railsow.

Atom.io od githuba dziala coraz fajniej. Ciekawa alternatywa dla Sublime. Samo ctrl-p da sie zrobic nawet w vimie ;p

Nie wspomniałeś o tym na jakim systemie pracujesz. Ja pracuję na Ubuntu, i do pracy z terminalem używam Terra. W skrócie - aplikacja pozwala na otwarcie wielu tabów. Każdy tab następnie można dzielić na dowolną liczbę ekranów, z których każdy jest osobnym terminalem. Łatwa jest nawigacja zarówno po tabach jak i oknach w tabie - za pomocą skrótów klawiszowych. Naciskając F12 sprawiasz że aplikacja się pojawia i znika na ekranie. Jeśli opis jest zbyt mało czytelny to sugeruję rzucić okiem na tern filmik https://www.youtube.com/watch?v=dwk--4qm_-8

Do edycji kodu używam Sublime-a. Tutaj masz przykładowy zestaw rozszerzeń ktore ułatwiają pracę http://www.sitepoint.com/10-essential-sublime-text-plugins-full-stack-developer/
Takie jak AllAutocomplete, GitGutter jak dla mnie są ogromnym ułatwieniem pracy. Oczywiście jest tego znacznie więcej.

Polecam ‘wyuczenie’ się podstawowych skrótów klawiszowych.

  • przełączanie się pomiędzy plikami (ctrl+p),
  • zaznaczanie fragmentów tekstu, to jest: kolejne wystąpienia zaznaczonego fragmentu (ctrl+d) | wszystkie wystąpienia zaznaczonego tekstu (alt+f3)
  • przesunięcie całej linii w której jest kursor w górę/dół ctrl+shft+up/down
  • wycięcie linii (ctrl+d)
  • pokazywanie, chowanie sidebar-a ctrl+k,+b
  • przemieszczanie kursora pomiędzy kolejnymi słowami (ctrl+ right/left)
  • przemieszczanie pomiędzy kolejnymi słowami w nazwie funkcji. Przykładowo w Ruby możesz piszemy parse_xml_file, to żeby przemieszczać kursor pomiędzy słowami używasz alt+right/left

A to tylko wstęp - jest tego sporo, wszystko konfigurowalne według własnego uznania. Zachęcam żeby na początek nauczyć się podstawowych skrótów a potem według potrzeb.

Aliasy, funkcje, skrypty-skrypciki. Mam popisane takie różności i wrzucone na Dropboxa. W .bashrc każdego systemu na którym pracuję (praca/dom … ) ładuję sobie ten plik. Polecam do automatyzacji.

Do tego dodatki do chrome-a.

3 Likes

Zaproponuje obejrzenie Michaela Hartl z railstutorial:

1 Like

Jutro pokażę ten wątek @RaVbaker’owi, jego sublime-fu wysłało mnie do przedszkola.

Od siebie polecam plugin git gutter (absolutna rewelacja) oraz, dla piszących dużo w js (iknowthatfeelbro.jpg) jshint gutter.

1 Like

Nie da się żyć bez SublimeRailsNav - cmd + ctrl + [M, C, T, I, Y] odpowiednio dla modeli, kontrolerów, testów, jsów i cssów. Znacząco przyśpiesza nawigację.
Do tego bardzo lubię GITa w Sublime, nie trzeba skakać do terminala.

1 Like

Zamiast klikania myszką polecam używanie command pallete. Nie znam skrótów na innych systemach, ale maku to ⌘+⇧+P (albo w menu: Tools > Command palette). A stamtąd już prosta droga do zrobienia czegokolwiek za pomocą klawiatury. Bez zaśmiecania głowy tysiącem skrótów. Choć i w tym command palette może pomóc, bo obok poleceń podpowiada jaki skrót klawiaturowy zrobi to szybciej.

Z “must have” pluginów polecam (kolejność alfabetyczna):

  • GitHubinator - jeśli trzymasz kod na GitHubie i czasem potrzebujesz szybko do niego skoczyć, aby np. koledze wysłać linka do aktualnie oglądanego fragmentu.
  • Rspec - bo minimalnie pomaga dodając snippety do pisania testów.
  • RubyBlockConverter - przyspiesza zamianę bloków do ... end na { ... }
  • RubyTest - koniecznie potrzebny, aby nie skakać do odpalania testów w terminalu oraz szybko skakać do pliku z testami: ⌘+.
  • SideBarEnhancements - rozszerza menu dostępne w prawym panelu z plikami. Szczególnie polecam z Command palette, bo potem kopiowanie np. ścieżki to pliku to: ⌘+⇧+P “copy path” ENTER i już.
  • SublimeLinter ( i SublimeLinter-ruby) - aby wyłapywać błędy i ostrzeżenia w Ruby zanim zapisze się plik. :wink:
  • ToggleQuotes - Aby jednym skrótem klawiszowym zamieniać stringi w "" na '' i odwrotnie: CTRL+'

To tyle na początek. A poza tym to polecam wnikliwą lekturę podmenu Selection oraz Edit. Tam kryje się jeszcze kilka fajnych perełek.

Przykład: ⌘+⇧+SPACJA aby zaznaczać i rozszerzać bloki zaznaczenia. Np. Do zaznaczania całego stringu łącznie z cudzysłowiami, choć to nie koniec możliwości. Bo w Markdown np. pozwala zaznaczyć jednym skrótem cały blok kodu wewnątrz ```.

1 Like

Mi jeszcze przydają się:

  • AdvancedNewFile,
  • AlignTab,
  • Color Highlighter,
  • SublimeTextGitX.
2 Likes

Ja jeszcze polecam ponadto co koledzy zaproponowali:

  • BufferScroll - zapamiętuje pozycję kursora per plik. Zainspirowane vimem. Bardzo lubię
  • Emmet - do CSSów
  • ERB snippets - oszczędza troche gimnastyki przy ERBach
  • Missing palette commands - dodaje kilka skrótów do commad palette, które normalnie, trzeba znaleźć w menu aplikacji
  • Rails latest migration - otwieta ostatnią migrację
  • Rails migration list - pokazuje listę migracji w command palette, możliwością otwarcia tej, która akurat nas interesuje
  • Rails partial - Do szybkiej ekstrakcji kodu do partiala

Na macu bardzo polecam skrót cmd + shift + / - pozwala szukać w menu aplikacji z klawiatury. Oszczędza sporo czasu na szukanie głęboko schowanych funkcji. Działa oczywiście nie tylko w Sublime, ale mi właśnie w tej aplikacji najbardziej się przydaje.

3 Likes

Ciekawe ile jeszcze pluginów podacie, dobijemy do 50 ? A tak na serio to osobiście drażnią mnie edytory do których trzeba zainstalować masę pluginów żeby je jakoś używać. Ale to moja osobista opinia.

Każdemu według gustu, dlatego my wrzucamy już kod do repozytorium gdy użytkownicy RubyMine nadal odpalają IDE.

@phocke Dzięki za BufferScroll, super przydatne.

2 Likes

co ma RubyMine do repozytorium, bo nie za bardzo rozumiem ?

Mi akurat RubyMine z włączonymi wszystkimi bajerami śmiga równie szybko co Sublime, co nie zmienia faktu, że każdy powinien używać narzędzi w których jest w stanie najsprawniej pracować.

Czy komus udalo sie moze w ST3 uruchomic ktoras z paczek ze snippet’ami Railsowowi ? Kombinowalem z tym ktore sa dostepne i niestety poleglem :frowning:

ja mam zainstalowane Ruby On Rails snippets - jedyne co musialem zrobić to zmienić sytax na ruby on rails snippets :slight_smile:

Polecam Gem browser. Pozwala na wygodne otwieranie kodu źródłowego gem–ów nie wychodząc z edytora. Wygodna alternatywa dla bundle open.

No nie przesadzajmy, to nie jest “masa pluginów, żeby jakoś używać edytora X”. :wink:

Teoretycznie mógłbym używać vima bez pluginów, ale kurcze, miło jest mieć rzeczy w stylu golden-ratio, vim-indent-guides, ctrlp.vim, vim-lion czy YouCompleteMe.

Ten pierwszy polecam w szczególności: automatycznie dostosowuje wielkość otwartych okien zgodnie z zasadą złotego podziału – aktywne okno dostaje najwięcej miejsca, a cała reszta robi się mniejsza. Na pewno jest też wersja dla emacsa, znajomy ostatnio próbował zainstalować plugin do ST3, ale coś się sypało.

(dla vima istnieje jeszcze nieco bardziej skomplikowana wersja, która podobno lepiej działa ze stałymi oknami)

Jak mam do wyboru edytor, do którego muszę doinstalować to i to … i jeszcze z kilka, kilkanaście rzeczy, żeby dało się go używać z akceptowalnym komfortem pracy. A z drugiej strony jak mam edytor który ma to wbudowane, to używam tego drugiego i nie tracę niepotrzebnie czasu.