Šta je novo?

Editori i razvojna okruzenja

yooyo

Čuven
VIP član
Učlanjen(a)
28.06.2005
Poruke
10,877
Poena
730
Pokrecem ovu temu sa zeljom da mi programeri razmenimo malo ideje i predloge za okruzenja i editore u kojima svakodnevno radimo.
Ranije, dok mi je fokus bio na C/C++ sam koristio Visual Studio. Posto danas radim na vise platformi i u raznim jezicima, koristim i razlicita okruzenja, zelim da ih konfigurisem tako da mi je prelazak iz jednog okruzenja u drugo i prelazak sa jednog OS-a na drugi minimalno stresan. Najbitnije stvari dok pisem code su:
- Prelazak izmedju source i header fajla.. obicno mapiram na Ait+/ i vazi samo za c/c++
- Pronalazak funkcije u fajlu.. Obicno mapiram na Alt+M i otkucam par slova funkcije koja mi treba
- Goto definition/declaration... Obicno mi je na Alt+G
- Vrati se nazad (go back).. obicno mi je Alt+strelica levo
- Neki editori imaju mogucnost blok markiranja i blok copy/paste, dok neki nemaju ili je to lose uradjeno ili nisam provalio kako :) Tamo gde ima koristim Alt+Shift+Strelice
- Neki editori imaju mogucnot pretrage simbola u celom projektu. U Atomu je trenutno Ctrl+R, mada je malo spor
- Dopunjavanje code-a (inteli sense)

Za C/C++ koristim Qt Creator ali on ima bas problema sa pronalaskom funkcija u fajlu, dok se sve ostalo na mestu. Za druge stvari koristim Sublime i Atom. Sublime je brz, ali ne mogu da ga nateram da radi neke stvari. Atom mi je odlican ali je spor. Ostaje mi da probam VS Code.

Trazim idealno okruzenje... da ima syntax highlight, da ne pravi gluposti sa identacijom code-a, da ima gore navedene mogucnosti koje lako mogu da mapiram na kombinacije tastera koji mi odgovaraju i da ima plugin sistem koji nije konfuzan (Atom i Sublime su bas konfuzni sa pluginovima). Najiritantniji mi je MonoDevelop koji stize uz Unity, jer kad on pocne da se ponasa potpuno izgubim zivce.

Sta me nervira.. npr dopunjavanje code-a u Atomu... primer.. zelim da napisem console.log(...);. Otkucam con, i on vec izbaci ponudjene reci.. console je odmah tu .. izaberem console i pritisnem enter i on napise console. Ok.. idemo dalje, otkucam tacku i slovo l i on odmah izbaci popup sa ponudjenim funckijama.. log je na drugom mestu. Izaberem log i pritisnem enter. Editor umesto da doda .log rezultat je console.console.log(); !!??

Trenutno se klackam izmedju Sublime i Atoma. Ovo su moja modifikacija sublime-a:

Kod:
[
	{ "keys": ["ctrl+shift+="], "command": "calculate", "args": {"replace": false} },
	{ "keys": ["ctrl+shift+c"], "command": "calculate", "args": {"replace": true} },
	{ "keys": ["alt+g"], "command": "goto_definition" },
	{ "keys": ["alt+left"], "command": "jump_back" },
	{ "keys": ["alt+right"], "command": "jump_forward" },
	{ "keys": ["alt+m"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} },
	{ "keys": ["ctrl+m"], "command": "goto_symbol_in_project" },
	{ "keys": ["shift+tab"], "command": "unindent" },
	{ "keys": ["ctrl+["], "command": "move_to", "args": {"to": "brackets"} },
	{ "keys": ["ctrl+]"], "command": "move_to", "args": {"to": "brackets"} },
	{ "keys": ["ctrl+shift+["], "command": "expand_selection", "args": {"to": "brackets"} },
	{ "keys": ["alt+/"], "command": "switch_file", "args": {"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"]} },
	{ "keys": ["ctrl+shift+s"], "command": "save_all" },
	{ "keys": ["ctrl+k", "up"], "command": "upper_case" },
	{ "keys": ["ctrl+k", "down"], "command": "lower_case" },
	{ "keys": ["ctrl+shift+9"], "command": "fold" },
	{ "keys": ["ctrl+shift+0"], "command": "unfold" }
]

Sta koristite od okruzenja, da li i koliko modifikujete podesavanja, sta vam odgovara i sta smeta kod raznih okruzenja i editora? Da li bi ste podelili neka podesavanja i trikove koje koristite u radu? Koje dodatke koristite u editorima?
 
Visual Studio Code. Kopija Atoma koja za divno cudo radi gotovo brzo kao Sublime. Atom je prosiriv, open source al je trom. Sublime je closedsource, nije modularan i 70$. Visual Studio Code je open source, prosiriv i brz.

Brz shvati uslovno, nije Vim ali je tu negde kao Sublime. Nemoj da te odbija sto je od Microsofta, editor je bruka dobar.

Edit: Ima telemetry ali mozes da ugasis. Mislim da onaj paket iz AUR to nema ukljuceno.
 
Poslednja izmena:
OK. Kakav je sa syntax highlight i intelisense? Da li trebaju neki pluginovi bez kojih ne može da se živi? Probaću ga svakako.

Sent from my Nexus 6P using Tapatalk
 
VS Code tim je napravio impresivan editor.
Za poslednjih godinu dana je kroz redovne mesecne iteracije na bazi jasnog plana predjen ogroman put.

Licno sam bio skeptičan prema M$ ali ovaj projekat rade odlicno.
 
Za tebe se Vim stvorio, autocomplete sam sebi možeš napisati baš onako kako ti odgovara pošto vidim da ti je to bitno, a i ne moraš jer su napisali i drugi. Kretanje unutar fajla, između fajlova i slično je suština samog editora, pišeš samo dok si u insert modu, u default modu se krećeš, brišeš, skačeš i slično. Smor ga je podesiti i naviknuti se na to, ali nakon toga mu nema premca.

Atom, brdo paketa, brdo loših paketa takođe, spor, ali je ipak među boljima kada se sve uzme u obzir. Koliko se ja sjećam ako želiš da ukucaš console.log(), dovoljno je da ti se pojavi ispod dok kucaš i tvoje je samo da pritisneš TAB i on će ti dovršiti kodnu riječ i postaviti kursor unutar navodnika console.log(""). Pošto ne radim mnogo C/C++ nisam se mnogo susretao sa deklaracijama, header fajlovima i slično, u JS mi je dovoljno da se krećem između fajlova i foldera, i to kako ti volja, mislim da je i u Atomu i u VS Code moguće to pomoću komandne palete (CTRL + P). Visual Studio takođe ima odličan debugger, bar za JS gdje dok debaguješ recimo Node.js aplikaciju možeš doslovno vidjeti kad se koji dio source code-a Node.js-a koristi/poziva, tj. na kojoj je liniji, a ne samo u kodu koji si ti napisao, što je i logično u visokom jeziku kao što je JS.

Paleta u atomu, a slična je i u code-u:

finder.png


U vimu za kretanje između fajlova koristim NERDTree i okej je. Za highlighting syntastic. Nabaciš koju temu, kopiraš nečiji autocomplete u .vimrc ili sam sebi napišeš što je isto ne bog zna kako jer je upustava milion.

Takođe Intelisense u Code-u je stvarno dobra stvar i dolazi zajedno sa njim, nije potrebna instalacija nikakvih paketa. Integrisani terminal je takođe default stvar u Code-u, a u Atomu je potrebno instalirati onaj platform.io ili kakogod koji mi je na dva računara zabadao čak.

Nešto što mi se isto sviđa, a postoji za većinu editora, a u VS Code je integrisano, to je ovaj Emmet.

EmmetHtml5.gif


Sublime nisam koristio mnogo prije svega jer mi se ne plaća, a smeta mi ono UNREGISTERED pa ne mogu.

Zaključak, koristim malo Vim, malo VS Code, Vim kad mi je mrsko drndati mišem i tu sam samo da kucam kod, a ne da recimo uz to i izmjenjujem sliku u gimpu i dopisujem se na telegramu.

Uzimajući u obzir tvoje iskustvo u ovoj branši nadam se da ti je bar malo pomoglo. Bilo bi dobro kad bi se ova tema malo razvila pa da podijelimo i podešavanja, fore i slično.

EDIT ~ Kad sjedem za svoj računar pogledaću listu paketa koju imam, mada nema ih puno jer se trudim da ne zavisi puno od njih već da se mogu prilagoditi bilo kom okruženju što bi prost narod u Srbiji rek'o "ez it iz".
 
Poslednja izmena:
OK. Kakav je sa syntax highlight i intelisense? Da li trebaju neki pluginovi bez kojih ne može da se živi? Probaću ga svakako.

Sent from my Nexus 6P using Tapatalk

Out-of-the-box podržava javascript i ostale web alate. Za C++ ti treba plugin koji se instalira iz editora za manje od minut. Marketplace je integrisan u editor, pretraga nije baš najbolje rešena ali najbolji i najpopularniji dodaci su lako dostupni i vidljivi.

https://blogs.msdn.microsoft.com/vcblog/2016/03/31/cc-extension-for-visual-studio-code/
 
Poslednja izmena:
Inace, yooyo svaka cast za temu. Pre par nedelja sam razmisljao da je otvaram, rek'o nemoguce da je nemamo. :)
 
Atom je uzasno spor, pogotovo kad imas mnogo fajlova. Dao sam mu sansu mnogo puta, ali nikad nije prosao kao svakodnevno resenje. Sublime je meni i dalje nezamenljiv.
 
Inace, yooyo svaka cast za temu. Pre par nedelja sam razmisljao da je otvaram, rek'o nemoguce da je nemamo. :)
Pre 20+ godina sam pod DOS-om koristio TSE editor... On je u to vreme ima script jezik kojim si mogao svašta da uradiš. Još tada sam ga budzio i ubacio skraćenice koje su mi ostale u prstima i dan danas. Možda moje modifikacije sublimea nisu svima logične, ali meni savršeno rade posao.

Bilo bi super i da malo diskutujemo i o praksi navigacije kroz projekat i fajlove. Npr.. Jump to declaration ili definition baš često koristim. Lista funkcija u fajlu takođe mi je jedna od omiljenih.

Sent from my Nexus 6P using Tapatalk
 
Ko ima vremena, želje i volje da promeni rutinu u radu neka se upusti u avanturu zvanu Vim ili Spacemacs (jer je vanilla Emacs barebones). Kada uđete u štos neće vas zanimati desktop oruženje jer ga nećete ni koristiti. Sve imate unutar editora, mapirano preko prečica koje vama odgovaraju. Ja imam želje ali nemam viška vremena a i volje mi nešto manjka da bi se upustio u avanturu.
 
I moj glas ide za sublime. Probao sam mogu reci sve editore (atom, vscode, komodo edit, phpstorm), ali sublime je ubedljivo najbrzi i najmanje zauzima ram, jos kad instaliras dodatke, nema mu ravnog. Od pluginova imam All Autocomplete, ejs 2, emmet, laravel blade, sublime linter (phplint, eslint, tslint, csslint), terminal, typescript, spacegray temu, vue syntax.
VsCode je isto super, ali samo za javascript i typescript, dok za php i laravel nije bas.
Probao sam skoro i phpstorm 2017.1, napravili ga svaka im cast, ali je veliki problem to sto zauzima preko 1.3gb ram, a jos gore to sto prilikom indeksiranja, procesor nabije temperaturu oko 80C?!
 
Poslednja izmena:
VS Code i Atom su solidno sporiji od Sublime i neće nikada biti toliko brzi. Moj glas ide za Sublime, na serverima vim, a za development koristim PyCharm.
 
Ne menja cinjenicu, a i reseno je koliko vidim :).
 
PyCharm Professional mi rešava sve što mi je potrebno; Python, Django, PyQT i HTML/CSS, a uz pluginove Docker, YAML, Bash itd. Nije baš lightweight, ali nema veze.
 
Od JetBrains "resenja" se prosto jezim...
 
Primarno koristim PHPStorm (iako radim frontend) dok radim projekte, prosto mu nema ravnog po mnogo cemu, jeste da je malo trom i zahtevan, treba jaci komp ali je preozbiljan IDE. Isto vazi i za Webstorm.

Kad trebam nesto na brzaka da editujem onda koristim Sublime, klasika. U skorije vreme koristim po malo i VSCode, dobar je.


Sent from my iPad using Tapatalk
 
A koristite li neke dodatke za SQL Server Management Studio?
 
Napišite koje plugine za vim koristite, puknite kakav screenshot, dajte .vimrc, bilo šta.
 
Mogu misliti kakav bi "Stallman Meme" bio kad bi vidio da u temi niko Emacs nije spomenuo.
 
Večiti rat, emacs vs vim. :) Meni je vim dosta praktičniji, mada kapiram da je to sve stvar navike, da sam počeo pre 18 godina da koristim emacs umesto vima možda bi mi on bio bolji.
 
Mogu misliti kakav bi "Stallman Meme" bio kad bi vidio da u temi niko Emacs nije spomenuo.

Kako nije, pa ja sam. Doduše Spacemacs zbog ain't nobody got the time to configure Emacs. Ista priča kao Arch vs Manjaro/Antergos/Apricity, Debian/Fedora vs Ubuntu. Nemam ja drugovi tih dva, tri sata da podesim sve od nule već nadograđujem tuđu bazu koja je što bi rekli, sane. Baš iz tog razloga koristim fish a ne zsh jer nisam admin pa mi ne znači dal je bash kompatibilan ili nije. Jer dok ja uradim Stage 1 install, podešavanja sistema, zsh-a, Emacs-a prođoše nedelje a ništa isprogramiro nisam, zbog čega uostalom i koristim Linux.
 
Koristim: Visual Studio, SQL Server Management Studio i Powershell ISE.

Sjajni alati koji čoveku u velikoj meri olakšavaju život.
 
Kako nije, pa ja sam. Doduše Spacemacs zbog ain't nobody got the time to configure Emacs. Ista priča kao Arch vs Manjaro/Antergos/Apricity, Debian/Fedora vs Ubuntu. Nemam ja drugovi tih dva, tri sata da podesim sve od nule već nadograđujem tuđu bazu koja je što bi rekli, sane. Baš iz tog razloga koristim fish a ne zsh jer nisam admin pa mi ne znači dal je bash kompatibilan ili nije. Jer dok ja uradim Stage 1 install, podešavanja sistema, zsh-a, Emacs-a prođoše nedelje a ništa isprogramiro nisam, zbog čega uostalom i koristim Linux.

Malo sam čačkao oko Spacemacsa nakon što si ga spomenuo i sad sam u velikom iskušenju, probao bih ali ne znam hoće li mi puno vremena oduzeti dok se snađem. Onako čini mi se da je to sve što bi trebalo da se odradi određen posao, a da je spakovano u jedno mjesto.
 
Jer dok ja uradim Stage 1 install, podešavanja sistema, zsh-a, Emacs-a prođoše nedelje a ništa isprogramiro nisam, zbog čega uostalom i koristim Linux.

Zato ja sve držim na gitu, dotfiles, install skriptu za dotfiles i ostale stvari, pa ni nemam dosta podešavanja.

Doduše ja jesam admin, tj. devops, pa mi je zsh super za moje potrebe. :)
 
Posto vidim da jos uvek niko nije spomenuo Javu, ajd da otvorim sezonu :)

Eclipse:

-kod kuce Neon3 (zajebah se zesce)
-na poslu Mars2

Imam svoje preference koje sam godinama budzio, alt+g su mi getteri i setteri, alt+e hashcode i equals, alt+c konstruktor, alt+s toString(), ctrl+shift+s mi je sort members + standardni eclipse shortcutovi... od dodataka koristim hibernate tools (JBoss tools), telosys, spring ide, egit, code coverage (junit).. itd, ne mogu ni ja svega da se setim

- MySQL Workbench
- Ampps
- Jaspersoft Studio
- Atom (nisam odusevljen, svidja mi se animacija dok se instalira, to je mozda i najveci razlog zbog cega sam ga instalirao) :)
- Notepad++ (za sve i svasta)
- Putty
- FileZilla

I za neke privatne poslice koristim i Launch4J koji mi pravi .exe od .jar-a, uglavnom ako su neki alati u pitanju
 
Meni, PHPStorm nema adekvatnu zamjenu za Symfony projekte.
Radi savršeno. Njegova zahtjevnost mi nije problem jer imam odličan procesor, a i 16GB RAM.
 
Nazad
Vrh Dno