Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Ondřej Novák 26. 04. 2014, 10:44:30

Název: Konzolové C++ IDE
Přispěvatel: Ondřej Novák 26. 04. 2014, 10:44:30
Zdar.

Potřeboval bych poradit, nebo nějaký tip. Většinu svých aplikací vyvíjím v Eclipse CDT. Nicméně bych občas ocenil mít k dispozici IDE v konzoloidním režimu (kvůli SSH, a podobně). Poraďte mi vhodnou alternativu? Prosim rovbou přeskočte vi, vim, emacs, nano, joe, mcedit

Jsem zvyklý na rychlé přepínání zdrojáků Ctrl₊TAB, přepínání mezi H a CPP, content assistant a hlavne Undo a Redo ideálně na Ctrl+Z. Ocením i standardní chování Copy Cut a Paste, včetně standardním přiřazení kláves.

Nějaké C++ related nástroje by nebyly k zahození. Nalezení reference symbolu, skákání po funkcích, nebo inkrementální hledání, a samozřejmě hledání v projektu.

Pohledem na google se zdá, že chtít něco takového je mezi komunitou chápáno jako rouhání :)


Název: Re:Konzolové C++ IDE
Přispěvatel: Franta <xkucf03/> 26. 04. 2014, 11:19:42
Vim a Emacs jsou sice editory, ale natolik rozšířitelné, že se nad nimi to IDE dá postavit.Nevím, jestli najdeš hotové a vyhovující řešení… ale pokud ano, pravděpodobně bude postavené na jednom z těchto dvou editorů. Ale úrovně, kterou nabízí Eclipse/Netbeans, těžko dosáhneš, s tím se smiř.
Název: Re:Konzolové C++ IDE
Přispěvatel: v 26. 04. 2014, 12:19:55
jestli je pro vás problém naučit se používat odpovídající nástroje (ctr+c v terminálu?!?!), tak zbývá snad jedině rdesktop
Název: Re:Konzolové C++ IDE
Přispěvatel: borekz 26. 04. 2014, 12:33:13
Je rozdíl mezi konzolou, terminálem (např. DEC) a textovým režimem. Konzola je příkazová řádka, stdin a stdout, nelze psát znaky či dokonce rámečky na fixní souřadnice. Terminálové rozhraní tohle do jisté míry umožňuje a nejvolnější je přímy zápis obrazové paměti, což přes SSH nelze.
Pokud IDE znamená klikání myší do oken a tlačíte, tak v konzole to není možné. V terminálu kdysi bylo dobré RHIDE, které existovalo v Dosu i v Linuxu. Myslím, že to už je mrtvý projekt.
Mě nejvíc vyhovuje editovat lokálně a soubory buď posílat na server nebo je přímo otevřít "vzdáleně", takže při ctrl+s se zapisuje rovnou na server. A v terminálu jen z příkazové řádky spouštím kompiler a gdb.
Název: Re:Konzolové C++ IDE
Přispěvatel: #Tom 26. 04. 2014, 12:35:41
Já tedy programuju nejčastěji v Gvimu, ve kterém mám nastaveny klávesové zkratky pro přepínání mezi otevřenými soubory a pro volání make. Pro ladění používám Valgrind, a v případě, že program padá, tak jej pustím v gdb a pustím příkaz backtrace. Občas sice používám i Eclipse, ale to mi připadá natolik těžkopádné, že pro ladění jednodušších a menších programů je nepoužitelné. Kromě toho, Gvim je prostě především editor, takže je jedno, jestli píšu program v C/C++/PHP/Bashi apod., dokument v LaTeXu nebo XML, a nebo HTML stránku a javascripty. Samozřejmě, Gvim pracuje v grafickém režimu, ale Vim lze používat obdobně. Zprovozňovat něco jiného podle mě nestojí za námahu.

To ale neznamená, že textová IDE nejsou. Naopak, v DOSu se mi osvědčilo prostředí RHIDE postavené nad Turbo Vision, které vypadá skoro stejně jako prostředí Borland Pascalu a Borland C++. Musím ale dodat, že v Linuxu mi moc nevyhovovalo. Další prostředí se jmenuje Motor a využívá ncurses. K překladu používá autotools, takže je také docela těžkopádné, ale působilo funkčněji než RHIDE.
Název: Re:Konzolové C++ IDE
Přispěvatel: eMko 26. 04. 2014, 13:11:16
Prosim rovbou přeskočte [..] vim, emacs [...]

V tom případě se radí těžko.

Mně se v obdobných případech nejvíce osvědčilo mít vývojové prostředí lokálně a v něm otevřít projekt přes sftp (minimálně netbeans to umožňuje).
Název: Re:Konzolové C++ IDE
Přispěvatel: balki 26. 04. 2014, 13:49:10
Vim a Emacs jsou sice editory, ale natolik rozšířitelné, že se nad nimi to IDE dá postavit.Nevím, jestli najdeš hotové a vyhovující řešení… ale pokud ano, pravděpodobně bude postavené na jednom z těchto dvou editorů. Ale úrovně, kterou nabízí Eclipse/Netbeans, těžko dosáhneš, s tím se smiř.

A control+z undo :)
Název: Re:Konzolové C++ IDE
Přispěvatel: student 26. 04. 2014, 16:05:29
Mně se v obdobných případech nejvíce osvědčilo mít vývojové prostředí lokálně a v něm otevřít projekt přes sftp (minimálně netbeans to umožňuje).
Umoznuje to kazdy editor, ktory vie editovat subory na disku (viz SSHFS).
Název: Re:Konzolové C++ IDE
Přispěvatel: Sten 26. 04. 2014, 16:20:40
Je rozdíl mezi konzolou, terminálem (např. DEC) a textovým režimem. Konzola je příkazová řádka, stdin a stdout, nelze psát znaky či dokonce rámečky na fixní souřadnice. Terminálové rozhraní tohle do jisté míry umožňuje a nejvolnější je přímy zápis obrazové paměti, což přes SSH nelze.

Konzole je typ terminálu, který je přímo připojený k počítači. Linuxová konzole umí i kreslit obrázky (framebuffer console) ;) VT100 a kompatibilní terminály dokáží cokoliv, co dokáže přímý zápis do paměti.

Pokud IDE znamená klikání myší do oken a tlačíte, tak v konzole to není možné. V terminálu kdysi bylo dobré RHIDE, které existovalo v Dosu i v Linuxu. Myslím, že to už je mrtvý projekt.

Ehm, VT100 terminál myš podporuje a SSH ji umí přenášet. Třeba Midnight Commander lze i přes SSH ovládat myší.
Název: Re:Konzolové C++ IDE
Přispěvatel: Sten 26. 04. 2014, 16:26:20
Většinu svých aplikací vyvíjím v Eclipse CDT. Nicméně bych občas ocenil mít k dispozici IDE v konzoloidním režimu (kvůli SSH, a podobně).

SSH umí přenášet i Xkové aplikace včetně Eclipse, ale vyžaduje to nízkou latenci a vysokou rychlost připojení. Nebo lze použít SSHFS (nebo mnou preferovaný WebDAV) a ke vzdáleným souborům přistupovat, jako by byly lokální.
Název: Re:Konzolové C++ IDE
Přispěvatel: vbl 26. 04. 2014, 16:45:27
S IDE jako takovym ti neporadim, ale ja vyvijim vzdalene takle:

 * root serveru mam pripojeny pres sshfs v home (napr. server abc mam pripojeny v ~/abc) (1)
 * edituju ve svem oblibenem editoru (emacs v X11, ale muze to byt cokoli), jako by soubor byl lokalne
 * v ceste (PATH) mam shell wrapper nad make, ktery zjisti fs info o aktualnim adresari
   * lokani fs/jiny nez sshfs fs -> spusti lokalni /usr/bin/make
   * sshfs mount -> spusti ssh username@host make ${args} (username a hostname vezme z informaci o mountpointu)
 * kdyz v editoru zmacknu hotkey, na kterem mam namapovany make, tak se automaticky kompiluje na serveru

(1) cely root mam pripojeny kvuli chybovym hlaskam z compileru/linkeru, ktere wrapper preklada na lokalni cestu (napr. /usr/include/xxx.hpp -> ~/abc/usr/include/xxx.cpp)

Zatim to nejlepsi, jak jsem kdy vzdalene vyvijel. Mozna to nekomu pomuze.
Název: Re:Konzolové C++ IDE
Přispěvatel: Ondřej Novák 26. 04. 2014, 17:29:06
Jedna z moznosti vyuziti, ktera me napadla je psat nebo editovat zdrojaky primo z mobilniho telefonu, jako ze tam mam ssh, ktery funguje celkem slusne s hw klavesnici, dokonce ma i tlacitko ctrl. Psal jsem v mceditu a neslo to moc dobre.
Název: Re:Konzolové C++ IDE
Přispěvatel: Ivan 26. 04. 2014, 20:50:33
Vsechno co potrebujes umi Emacs i Vim - akorat pouzivaji jine zkratkove klavesy.
Pokud je vyradis, tak uz ti nic nezbude.
Název: Re:Konzolové C++ IDE
Přispěvatel: Ondřej Novák 26. 04. 2014, 21:15:22
Vsechno co potrebujes umi Emacs i Vim - akorat pouzivaji jine zkratkove klavesy.
Pokud je vyradis, tak uz ti nic nezbude.

Já jsem neříkal, že to bude snadný. Vim fakt ne, mimochodem, s ESC je to na mé HW klávesnici horší. Navíc mi ten editační systém vůbec nevyhovuje. Ale ani emacs na tom neni o nic lépe, nepřijde mi intuitivní. A fakt se ve svých 38 letech nechci přeučovat na něco jiného. To už je snad lepší si na server nahrát editor v HTML/JS a používat na to browser a jeho textareu. Sice s nějakým zvýrazňováním se mohu rozločit, ale umí to undo, copy, paste, ...
Název: Re:Konzolové C++ IDE
Přispěvatel: FrostyX 26. 04. 2014, 21:41:37
Nevím, s jak moc velkou nadsázkou mám brát tohle

Citace
To už je snad lepší si na server nahrát editor v HTML/JS a používat na to browser a jeho textareu.

ale dovolím si tvrdit, že každý druhý konzolový editor zvládne to samé co textarea a člověk se to naučí během deseti minut.
Název: Re:Konzolové C++ IDE
Přispěvatel: Tadeas 26. 04. 2014, 22:05:56
Nauč se vim nebo emacs. Jiná alternativa není. Nakonec dostaneš všechno, co je v tom CDT,  plus ledascos  navíc, i kdyby to bylo jenom na SSH.
Název: Re:Konzolové C++ IDE
Přispěvatel: M. 26. 04. 2014, 22:27:52
Také vyvíjím vzdáleně. A to trvale. Řeším tak, že používám NoMachine - https://www.nomachine.com/
Takže mám u sebe jen jejich klienta, ten si přes SSH tunel otevře eclipse běžící na druhém konci a mám po problému ( fakticky eclipse běží na virtuálním servu někde jinde, než je nomachine server, který si ho připojuje přes XDM přístup k sobě a kompilace a spol běží z eclipse opět vzdáleně na cílovém HW, který by Xka s eclipse neunesl.). :-)
Proti klasickému Xforwarding skrz SSH je to mnohem úspornější, naprosto běžně pracuji z noťasu přes 3G nebo CDMA připojení z pískoviště, umí disconnect/reconnect sešny a tunu dalšího.
Jsou i další variant postavené kolem NX protokolu (X2go, FreeNX, ...), ale máme placenou server verzi.
Celkem efektivní způsob, jak obejít řešení v textovém režímu.
Název: Re:Konzolové C++ IDE
Přispěvatel: eMko 27. 04. 2014, 08:53:19
A fakt se ve svých 38 letech nechci přeučovat na něco jiného.

Chápu, že od určitého věku je horší se učit něco jiného. Na druhou stranu naučit se vim není zas tak hrozné a připadá mi jednodušší na naučení základů než emacs. U emacsu je zase jednodušší se naučit pokročilejší vlastnosti.

Je to rozhodně méně pohodlné než Eclipse, na druhou stranu si myslím, že se to vyplatí. Na každém linuxovém / unixovém serveru jsem viděl vi nebo vim a občas tam člověk prostě potřebuje vlézt a editovat nějaká soubor.
Název: Re:Konzolové C++ IDE
Přispěvatel: Kit 27. 04. 2014, 09:36:55
Je to rozhodně méně pohodlné než Eclipse, na druhou stranu si myslím, že se to vyplatí. Na každém linuxovém / unixovém serveru jsem viděl vi nebo vim a občas tam člověk prostě potřebuje vlézt a editovat nějaká soubor.
Na Eclipse jsem nenašel nic pohodlnějšího než ve Vimu. Naopak se mi Eclipse či Nebeans jeví proti Vimu jako nepříliš pohodlná prostředí.
Název: Re:Konzolové C++ IDE
Přispěvatel: czp 27. 04. 2014, 10:13:15
Co prejit odpor k vimu a vyuzit http://eclim.org/?
Název: Re:Konzolové C++ IDE
Přispěvatel: Franta <xkucf03/> 27. 04. 2014, 10:49:26
Nauč se vim nebo emacs. Jiná alternativa není. Nakonec dostaneš všechno, co je v tom CDT,  plus ledascos  navíc, i kdyby to bylo jenom na SSH.

SSH? V Netbeans si můžeš nastavit SSH spojení a pak kompilovat pomocí GCC a dalších nástrojů na vzdáleném serveru + si můžeš otevírat okna s terminálem v rámci IDE (ale přiznám se, že tohle mi přijde až trochu zbytečné – radši skočím na vedlejší plochu, kde mám Konsoli – nemusím mít všechno v jednom okně na jedné ploše). Kromě toho používám Antovské úlohy, které nasadí program na vzdálený server nebo na něm pomocí SSH spustí nějaký příkaz.

Emacs a Vim používám jako editory, ale IDE mi nahradit nedokážou. Možná ten Eclim by částečně mohl, ale je otázka, proč to používat, když mi tu stejně běží Xka a grafické prostředí – to si můžu rovnou pustit ty Netbeans nebo Eclipse a budu mít pohodlnější ovládání.

A jak jsem psal výše – nemusím mít všechno v jednom okně – pro mě je vlastně tím IDE moje desktopové prostředí KDE a jeho plochy, klávesové zkratky, správa oken… – kompletní IDE si poskládám tak, že na jedné ploše mám Netbeans, na druhé Konsoli, ve které si pustím klidně ten Emacs nebo pracuji s verzovacím systémem z příkazové řádky, na jiné ploše mám logy nebo výstup z programu…
Název: Re:Konzolové C++ IDE
Přispěvatel: Bobousovicz 27. 04. 2014, 19:02:48
Chápu-li to správně, tak hledáte něco Linuxovou verzi IDE MS-DOSového Turbo C++, příp. Borland C++, které byly populární  v době před 25ti lety.  :)
Tak to mě teda vážně nic nenapadá. Snad jedině knihovna curses (viz. curses.h) a naprogramovat si to sám.  :P
Název: Re:Konzolové C++ IDE
Přispěvatel: Ondřej Novák 27. 04. 2014, 19:20:32
Chápu-li to správně, tak hledáte něco Linuxovou verzi IDE MS-DOSového Turbo C++, příp. Borland C++, které byly populární  v době před 25ti lety.  :)
Tak to mě teda vážně nic nenapadá. Snad jedině knihovna curses (viz. curses.h) a naprogramovat si to sám.  :P

Ono to mělo něco do sebe. Já jsem poprve vývíjel (ZX Spectrum Basic nepočítám) v Turbo Pascalu 5.0. V té době ještě bez myši. Ale bylo to super (včetně debugeru)
Název: Re:Konzolové C++ IDE
Přispěvatel: Josef Mruzek 27. 04. 2014, 20:57:04
Můžete zkusit RHIDE (http://www.rhide.com/).
Název: Re:Konzolové C++ IDE
Přispěvatel: Pedro 28. 04. 2014, 11:12:45
@#13: neodpustim si rypnuti: v 38ti jit do duchodu, to neni dano kazdemu. V IT neochota ucit se nove veci = duchod.
Název: Re:Konzolové C++ IDE
Přispěvatel: 死神 28. 04. 2014, 14:48:20
@#13: neodpustim si rypnuti: v 38ti jit do duchodu, to neni dano kazdemu. V IT neochota ucit se nove veci = duchod.

Až na to, že vim není nic nového, je starý jak ten turbo pascal. A neochotu učit se ho celkem dobře chápu, to s věkem vůbec nesouvisí.
Název: Re:Konzolové C++ IDE
Přispěvatel: eMko 30. 04. 2014, 15:08:38
Nová věc nerovná se nová technologie. Před nedávnem pro mě byl emacs také nová věc, byť byl původně vytvořen v r. 1972, tedy je o trochu starší než já.

Nicméně plně souhlasím s tvrzením, že pokud se ajťák stále neučí pro něj nové věci, je to špatně.