» »

Code completion pri zastonjskih Ide-jih

Code completion pri zastonjskih Ide-jih

zhigatsey ::

Žijvo,

Mogoče bi tale tema bolj spadala v Programsko Opremo, samo se tudi tiče programiranja nasploh...

Torej, ko sem poskusil različna zastonjska orodja (anjuta, kdevelop, codeblocks, devcpp itd...) za programiranje v c++ sem opazil da code completion ne deluje na tak način kot bi si želel. Zakaj ne deluje tako kot npr. pri delphiju ali Ms Visual Studiu. Recimo če v code blocks vtipkaš std::string in '->' ali piko se ne zgodi nič... Recimo pri dev-cpp si moral določiti direktorij kjer ti je potem sparsal vse datoteke, in poleg tega da si čakal en kup še vedno ni delalo tako kot je treba. Zakaj je to tako težko narediti. Po drugi strani pa sem za foro enkrat prevajal wxWidgets program z Borlandovim C++ Builderjem 6 in takoj mi je vrgel ven
memberje od recimo wxFrame-a.... Kje je torej problem...

Hvala za odgovore

Rapsey ::

ms vc++ express je zastonj.

zhigatsey ::

Ma ja vem, nisem zato spraševal... Recimo rad delam z mingw compilerjem, samo me še vedno
bremza to da ni preveč udobno programirati v orodjih kot code blocks naprimer, ravno zaradi tega.... Ali pa sem preveč razvajen:) ...

Rapsey ::

In zakaj raje delaš v slabšem prevajalniku? Samo ker je open source?

zhigatsey ::

Ja in zakaj, bi moral delati ravno z Ms Visual Studiem... Navadil sem se pač gcc-ja... In zame je čisto dober prevajalnik. Sicer pa tudi če bi v code blocks uporabljal Ms-jev prevajalnik ali pa borlandov, code completion še vedno ne bo nič bolje delal:) , tako da to sploh ni pomembno...

Rapsey ::

Aha ok. Sprva sem mislil da iščeš zastonjski IDE ki ima spodoben code completion. Vendar po se enem branju tvojega posta vidim da te edino zanima zakaj nima noben zastonjski IDE spodoben code completion. Čisto preprosto, ker to ni tako lahek problem. Potreben je analizator kode, ki pa je kr konkreten del tega kar dela prevajalnik.

zhigatsey ::

Prevajalnik nima nobene veze s tem!

Rapsey ::

...
Ja ni nujno. Nekatere rešitve code completiona uporabljajo prevajalnik da od njega dobijo podatke. Omenil sem prevajalnik zato, da povem da če hočeš naredit code completion moraš implementirat en lep del prevajalnika, kar pa je zelo veliko dela.

zhigatsey ::

Prevajalnik, kot že sama beseda pove samo prevaja... Ko ti pišeš kodo ti prevajalnik ne dela popolnoma ničesar... Code completion je pa bolj odvisen od dobrega parserja kode... Vsaj tako si jaz predstavljam...

64202 ::

Hecno, jaz sem pa ravno z vs (2003) imel veliko problemov, deluje dokaj random, templateov pa itak ne šteka čisto nič. Mogoče sem spregledal kako nastavitev?

Drugače najbolje je deloval eclipse cdt, samo pazi - indexer mimogrede skuri nekaj 100 mb in na večjih zadevah hitrostno popolnoma odpove (qt4 recimo).

Aja, prevajalnik lahko ponucaš za code completion, mora pa imet način "delnega" prevajanja, kar mislim da msvc počne.
I am NaN, I am a free man!

Zgodovina sprememb…

  • spremenilo: 64202 ()

Rapsey ::

msvc code completion ima eno pomankljivost, če se prav spomnim. Namreč gleda vedno samo prvi nivo includov, tako da pri zadevah kot je wxwidgets in qt ne deluje dobro (ali pa sploh ne), ker je dejansko koda v includih includov. Je pa code completion izboljšan v visual c++ 2005. Obstaja tudi en zelo popularen plugin za visual studio imenovan visual assist, ki to pomankljivost odpravi. Čeprav meni ni preveč všeč, ker mi je preveč agresiven.
Eclipsov cdt sem poskušal uporabit pri enem qt4 projektu in nisem daleč prišel. Če se prav spomnim mi je tudi brez razloga šel večkrat parsat qt knjiznico, ki pa se itak nikoli ni spreminjala.

Pa shigatse, dobro vem kaj in tudi kako prevajalnik dela. Ti pa očitno ne, tako da ne mi solit pameti.

Zgodovina sprememb…

  • spremenilo: Rapsey ()

64202 ::

Msvc mi ne resolva recimo smart pointerjev (operator ->) in glede na to, da imam praktično vso kodo polno s. pointerjev, code c. zame praktično ne deluje :D. Eclipse je prebavil brez težav. Si bo treba čas vzet, pa 2005 preverit.
I am NaN, I am a free man!

64202 ::

Bi se pa priporočal, če mi kdo razloži, kako se cc vklopi v kdevelop. Občasno sicer začne kar delat in to dokaj vredu, potem pa kar naenkrat odpove in nič več ne kaže. Čudno. Preril sem že vse nastavitve, dodat direktorije v "bazo" etc., res ne štekam.
I am NaN, I am a free man!

Rapsey ::

mislim da kdevelop ne spremlja sproti kaj delaš ali pa to dela zelo slabo. Probaj prevest pa restartat kdevelop.

zhigatsey ::

Pa shigatse, dobro vem kaj in tudi kako prevajalnik dela. Ti pa očitno ne, tako da ne mi solit pameti.

Jp imaš prav, mogoče ravno zato code completion tako dobro dela v Delphiju in recimo VS....

64202 ::

Huh, sem si zbildal kdevelop 3.4 beta1. Po novem ima prav za Qt4 include direktorij importer in deluje tako kot mora. Celo QPointer<T> potegne pravilno. Cela zadeva požre ~50 mb resident, completion meni se pa odpre (za QWidget objekt) nekje v pol sekunde. Carsko :D
I am NaN, I am a free man!

Gundolf ::

Ah jaz sem se pa že navadil, da code completion za C++ podnavadi ne dela, že ko mi v Visualu ni delalo kot bi bilo treba. Če pa ne dela 100% ga pa raje nimam.

Za OO jezike se da hitro naredit en površen parser ki potem odlično dela code completion, C++ je pa na žalost veliko preveč kompleksen.

Zgodovina sprememb…

  • spremenil: Gundolf ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C++ IDE on Windows

Oddelek: Programiranje
387523 (6615) noraguta
»

[C++] Programiranje razvojnega okolja za Linux - Ideje (strani: 1 2 )

Oddelek: Programiranje
609123 (7060) smoke
»

Kateri IDE uporabljate za programiranje?

Oddelek: Programiranje
132762 (2176) Invictus
»

[nasm] scanf

Oddelek: Programiranje
272892 (2619) Brane2
»

Kateri jezik se najbolj splača poglabljati?

Oddelek: Programiranje
171940 (1612) Tr0n

Več podobnih tem