View Full Version : [Visual Studio 2008] Formattazione del codice imbarazzante
Sbrizzolo86
31-03-2010, 17:29
Salve a tutti,
sono da poco passato (su richiesta del mio supervisore di progetto) da Eclipse a Visual Studio 2008 per programmare in C++.
Trovo che la formattazione del codice sia abbastanza inusuale e per me molto scomoda, in particolare vorrei cambiare due cose:
1) evidenziare in qualche maniera i metodi e gli attributi di una classe nel file .cpp, di solito in QUALSIASI PIATTAFORMA (pure Netbeans per java ma anche Eclipse) i metodi sono in grassetto e gli attributi di un colore particolare. Comunque a me non interessano questi dettagli, mi accontenterei di QUALSIASI modo per differenziarli dal resto del codice
2) evidenziare le righe di codice che generano errori di compilazione. Sembra (ed è) BANALE ma non accade e sono dunque costretto a cercare manualmente il numero di riga che ha generato l'errore
Ho provato a "spulciare" tutte le opzioni in Tools->Options ma sono rimasto a dir poco deluso.
Spero davvero che mi sia sfuggito qualcosa, altrimenti troverei imbarazzanti questi due difetti che, almeno per quanto mi riguarda, non reputo all'altezza di un software di sviluppo Microsoft. Perfino Notepad++ sa come meglio visualizzare del codice C++.
Alessandro
tomminno
31-03-2010, 19:20
Per quanto riguarda la colorazione del codice C++ ho sempre trovato Visual Studio carente specialmente confrontandolo con quanto avviene in C#. Per il punto 1 non credo ci siano soluzioni, ho visto in giro che c'è qualche (raro) plugin ma fondamentalmente non consentono di ottenere il risultato desiderato.
Per il punto 2 perchè dici di dover cercare a mano? Basta il doppio click sull'errore o anche il warning (nell'apposito tab) per andare diretti alla riga interessata.
Dopotutto devi capirli :rolleyes: alla Microsoft hanno abbandonato il C++ al suo destino da quando hanno introdotto il .NET e anche con VS2010 per l'usabilità non hanno cambiato niente vedi intellisense e appunto colorazione del codice. L'intellisense continua ad entrare in funzione solo con il ctrl+space e non immediatamente come in C# e cosa che fa più arrabbiare ti suggerisce in un tooltip la firma del metodo ma non te la scrive automaticamente, che gli costava inserire queste piccolezze?
Sbrizzolo86
31-03-2010, 20:28
Per quanto riguarda la colorazione del codice C++ ho sempre trovato Visual Studio carente specialmente confrontandolo con quanto avviene in C#. Per il punto 1 non credo ci siano soluzioni, ho visto in giro che c'è qualche (raro) plugin ma fondamentalmente non consentono di ottenere il risultato desiderato.
Per il punto 2 perchè dici di dover cercare a mano? Basta il doppio click sull'errore o anche il warning (nell'apposito tab) per andare diretti alla riga interessata.
Dopotutto devi capirli :rolleyes: alla Microsoft hanno abbandonato il C++ al suo destino da quando hanno introdotto il .NET e anche con VS2010 per l'usabilità non hanno cambiato niente vedi intellisense e appunto colorazione del codice. L'intellisense continua ad entrare in funzione solo con il ctrl+space e non immediatamente come in C# e cosa che fa più arrabbiare ti suggerisce in un tooltip la firma del metodo ma non te la scrive automaticamente, che gli costava inserire queste piccolezze?
Grazie per aver risposto.
Sì, effettivamente basta il doppio click sull'errore (l'ho scoperto grazie a te) però...ti sembra normale? Di solito un link si evidenzia in qualche modo, con un "sottolineato" o un colore diverso...io ho studiato e ho dovuto applicare i principi dell'usabilità pena non il superamento dell'esame, ma questi sviluppatori cosa avevano per la testa? Hanno idea di cosa significa progettare un'interfaccia utente?
Per quanto riguarda la colorazione siamo a livelli veramente da dilettanti, ma nemmeno. Un qualunque programmatore farebbe di meglio.
P.S. : altro difetto da "dilettanti": quando suggerisce un metodo con un tooltip e glielo fai inserire, si dimentica di mettere "()"...ma che ci voleva?
Mah...ho usato Netbeans ed Eclipse negli ultimi 2 anni...altri livelli. Soprattutto il primo.
Prova a vedere se con il plugin Resharper ti trovi meglio.
tomminno
31-03-2010, 22:51
Prova a vedere se con il plugin Resharper ti trovi meglio.
Ma non è solo per linguaggi .NET?
Ma non è solo per linguaggi .NET?
Sisi'.
Ma ho conosciuto piu' di una persona che pensava di programmare sotto C++, mentre invece era C++/CLI.
tomminno
31-03-2010, 23:11
Grazie per aver risposto.
Sì, effettivamente basta il doppio click sull'errore (l'ho scoperto grazie a te) però...ti sembra normale? Di solito un link si evidenzia in qualche modo, con un "sottolineato" o un colore diverso...
Magari è perchè ormai uso VS da 10 anni ma l'intera riga relativa all'errore è un "link" alla riga che ha generato l'errore, dovrebbe essere tutto sottolineato non mi sembra che ciò avrebbe reso il tutto più chiaro.
io ho studiato e ho dovuto applicare i principi dell'usabilità pena non il superamento dell'esame, ma questi sviluppatori cosa avevano per la testa? Hanno idea di cosa significa progettare un'interfaccia utente?
Come ti ripeto l'editor Visual Studio per il C++ è fermo praticamente dal 1998, hanno aggiunto solamente i comodissimi tooltip in debug (almeno quello...).
Hanno modificato in meglio tutto quello che sta sotto, ma l'IDE è rimasto al palo e anche con il nuovissmo 2010, che tanto sbandierano come il vero erede di Visual Studio 6, non ha sostanziali modifiche rispetto al vetusto predecessore.
Per quanto riguarda la colorazione siamo a livelli veramente da dilettanti, ma nemmeno. Un qualunque programmatore farebbe di meglio.
P.S. : altro difetto da "dilettanti": quando suggerisce un metodo con un tooltip e glielo fai inserire, si dimentica di mettere "()"...ma che ci voleva?
Suppongo che ti riferisca all'intellisense sui file cpp quando scrivi l'implementazione dei metodi del .h. Purtroppo il più delle volte l'intellisense non riesce a parserizzare il file e a visualizzare l'intera firma del metodo ma solo il nome.
Poi ho notato che se cominci a scrivere i metodi senza però iniziare con il valore di ritorno (cominciando la riga con il nome della classe) allora nell'elenco magicamente ti ritrovi tutte le firme dei metodi che non hai ancora implementato nel file cpp, ovviamente poi devi tornare ad inizio riga per scrivere il valore di ritorno ma se lo fai dopo un paio di metodi dall'elenco sparisce il suggerimento della firma e rimane solo l'elenco dei nomi.
Insomma pura alchimia.
Quando il suggerimento dell'intellisense fa cilecca arriva la beffa: quando scrivi ti appare un tooltip giallo che ti visualizza l'intera firma e viene una rabbia a dover scrivere qualcosa che l'editor potrebbe scrivere da sè. Specialmente pensando a C# dove appena scrivi una lettera ti appare il metodo corretto.
E non è un problema della sintassi del C++ più difficile da parserizzare in quanto è l'editor stesso (beffardo) a suggerire correttamente cosa scrivere, ma lui non lo scrive per te (come invece accade in C# in situazione analoga premendo tab-tab) e come linguaggio il C++ è decisamente prolisso.
E' solo l'implementazione dell'intellisense che non ha fatto un passo avanti da 12 anni a questa parte.
Ma ovviamente alla Microsoft puntano tutto su C# e .NET.
Un consiglio: installa Refactor++ (free) per lo meno avrai un minimo di funzionalità di refactoring.
Pixel452
01-04-2010, 08:48
Installa assolutamente Visual Assist X, è la prima cosa da fare con VS. Il C++ ha un supporto intellisense inesistente ma con il plug-in che ti ho segnalato diventa anche meglio degli IDE che citi. Per modificare la colorazione del codice per distinguerlo meglio oltre ad usare i pannelli che ti aggiunge VAX vai in Tools->Options->Enviroment->Fonts And Colors
Sbrizzolo86
01-04-2010, 09:07
Installa assolutamente Visual Assist X, è la prima cosa da fare con VS. Il C++ ha un supporto intellisense inesistente ma con il plug-in che ti ho segnalato diventa anche meglio degli IDE che citi. Per modificare la colorazione del codice per distinguerlo meglio oltre ad usare i pannelli che ti aggiunge VAX vai in Tools->Options->Enviroment->Fonts And Colors
Vedo di provare subito "Visual Assist X" (anche perchè gli altri prodotti consigliatemi hanno fallito).
Sbrizzolo86
01-04-2010, 09:12
Sisi'.
Ma ho conosciuto piu' di una persona che pensava di programmare sotto C++, mentre invece era C++/CLI.
Il vizio di considerare niubbi che scrive per primo pare ben radicato. Grazie per la fiducia!
Ho provato Resharper (che tra l'altro non è manco free) ed ovviamente non ho risolto alcun problema, dal momento che programmo in C++ (come già detto).
Del resto, leggendo ciò che ho scritto, si evince che sono appena passato da EclipseC++ a VS, e non mi pare che l'Eclipse CDK supporti il C++/CLI. Dunque questo dubbio non aveva ragione d'esistere :D
Sbrizzolo86
01-04-2010, 09:14
Un consiglio: installa Refactor++ (free) per lo meno avrai un minimo di funzionalità di refactoring.
Grazie dell'ottimo consiglio! Lo provo subito e vi faccio sapere.
Pixel452
01-04-2010, 09:21
Visual Assist X non è free, puoi usarlo per un pò gratis(30 giorni mi pare), cmq ti consiglio vivamente di provarlo, poi vedrai tu se pagarlo o "altro". Offre anche funzionalità di refactoring.
Sbrizzolo86
01-04-2010, 09:30
Ok Visual Assist X ha risolto tutto. Non posso mettere i metodi in grassetto (e non si capisce perchè visto che lo permette per le variabili) però posso cambiarne il colore ed evidenziare con un colore diverso gli attributi. Non siamo ancora ai livelli di Netbeans ma mi devo accontentare.
Per quanto riguarda l'intellisense penso che dovrò rinunciarci...ma per me era un problema più grave l'aspetto la leggibilità del codice.
Spero di convincere il mio supervisore ad abbandonare VS, non vedo la ragione di adottarlo per C++, anche considerando che con Eclipse usavo GCC/G++ e che il software andrà eseguito su sistema *NIX. Mah....
Grazie davvero a tutti.
Alessandro
Alessandro
Il vizio di considerare niubbi che scrive per primo pare ben radicato. Grazie per la fiducia!
Ho provato Resharper (che tra l'altro non è manco free) ed ovviamente non ho risolto alcun problema, dal momento che programmo in C++ (come già detto).
Del resto, leggendo ciò che ho scritto, si evince che sono appena passato da EclipseC++ a VS, e non mi pare che l'Eclipse CDK supporti il C++/CLI. Dunque questo dubbio non aveva ragione d'esistere :D
Sai com'e'. L'utente medio nuovo di questa sezione scrive nel titolo
[C#] - Aiutatemi.
Poi nel corpo dice di avere problemi con il C++, ma posta un pezzo di codice in C :asd:
Ad ogni modo anche in quanto a maleducazione se ne trova tanta in giro.
A casa mia i consigli GRATUITI, anche se sbagliati, li si accetta e si ringrazia comunque.
Quindi direi un bel pareggio e palla al centro.
Sbrizzolo86
01-04-2010, 09:36
Visual Assist X non è free, puoi usarlo per un pò gratis(30 giorni mi pare), cmq ti consiglio vivamente di provarlo, poi vedrai tu se pagarlo o "altro". Offre anche funzionalità di refactoring.
Però...250$ per un plugin che ricolora il codice (e non consente una personalizzazione completa) e fa un po' di refactoring...mah mi sembra esagerato. Forse sono io che non sono abituato a sviluppare in ambiente Microsoft, ma l'andazzo non è bello...spendi già tanto per VS e poi scopri tanti difetti e per correggerli ci vogliono plugin da 250$....insomma non è il massimo della vita per un programmatore, visto anche che in giro ci sono ottimi prodotti (per ora) free.
Sbrizzolo86
01-04-2010, 09:39
Sai com'e'. L'utente medio nuovo di questa sezione scrive nel titolo
[C#] - Aiutatemi.
Poi nel corpo dice di avere problemi con il C++, ma posta un pezzo di codice in C :asd:
Ad ogni modo anche in quanto a maleducazione se ne trova tanta in giro.
A casa mia i consigli GRATUITI, anche se sbagliati, li si accetta e si ringrazia comunque.
Quindi direi un bel pareggio e palla al centro.
Se leggi il messaggio sopra ho infatti scritto "Grazie a tutti". Ed era riferito anche a te ;)
Pixel452
01-04-2010, 09:41
Ok Visual Assist X ha risolto tutto. Non posso mettere i metodi in grassetto (e non si capisce perchè visto che lo permette per le variabili) però posso cambiarne il colore ed evidenziare con un colore diverso gli attributi. Non siamo ancora ai livelli di Netbeans ma mi devo accontentare.
Per quanto riguarda l'intellisense penso che dovrò rinunciarci...ma per me era un problema più grave l'aspetto la leggibilità del codice.
Spero di convincere il mio supervisore ad abbandonare VS, non vedo la ragione di adottarlo per C++, anche considerando che con Eclipse usavo GCC/G++ e che il software andrà eseguito su sistema *NIX. Mah....
Grazie davvero a tutti.
Alessandro
Alessandro
Puoi impostare un colore diverso per i metodi, il grassetto mi sembra di no ma personalmente preferisco il colore. Cmq tra VAX e le impostazioni di VS riesci a fare tutto(guarda dove ti ho indicato se non l'hai fatto) Basilarmente si tratta di impostare un colore diverso a seconda dei casi.
Per l'Intellisense non capisco a me funziona BENISSIMO lo trovo fantastico e molto più avanti di quello di Eclipse(l'ho usato pochissimo ma è una cosa che si vede subito), devi avere qualcosa che non va, ti ha fatto lo scan la prima volta che è partito? Lo vedi in basso a sinistra. Cmq ti ripero l'intellisense c'è eccome hai qualcosa che non va, cerca di risolverlo non demordere perchè cambia la vita.
Sbrizzolo86
01-04-2010, 09:47
Puoi impostare un colore diverso per i metodi, il grassetto mi sembra di no ma personalmente preferisco il colore. Cmq tra VAX e le impostazioni di VS riesci a fare tutto(guarda dove ti ho indicato se non l'hai fatto) Basilarmente si tratta di impostare un colore diverso a seconda dei casi.
Per l'Intellisense non capisco a me funziona BENISSIMO lo trovo fantastico e molto più avanti di quello di Eclipse(l'ho usato pochissimo ma è una cosa che si vede subito), devi avere qualcosa che non va, ti ha fatto lo scan la prima volta che è partito? Lo vedi in basso a sinistra. Cmq ti ripero l'intellisense c'è eccome hai qualcosa che non va, cerca di risolverlo non demordere perchè cambia la vita.
Perfetto funziona anche quello, dopo aver disinstallato altri due plugin che forse non lo facevano funzionare bene. Beh penso di aver trovato il plugin giusto allora.
Per quanto riguarda il "grassetto", sì, avevo esplorato anche quelle opzioni ma ero riuscito a mettere in grassetto solo i costrutti C++. Vabbè comunque ora è un'altra cosa rispetto a prima.
Grazie di nuovo a tutti,
Alessandro
P.S.: sì forse eclipse non è il massimo in questo, però è comunque accettabile rispetto al VS di default. Netbeans sarebbe carino provarlo con il C++, con Java era una bomba.
Pixel452
01-04-2010, 09:48
Però...250$ per un plugin che ricolora il codice (e non consente una personalizzazione completa) e fa un po' di refactoring...mah mi sembra esagerato. Forse sono io che non sono abituato a sviluppare in ambiente Microsoft, ma l'andazzo non è bello...spendi già tanto per VS e poi scopri tanti difetti e per correggerli ci vogliono plugin da 250$....insomma non è il massimo della vita per un programmatore, visto anche che in giro ci sono ottimi prodotti (per ora) free.
Io ho trovato Eclipse e NetBeans pessimi quando li ho provati e sono tornato di corsa a VS + VAX. per me avere questo plug-in cambia l'eserienza di lavoro.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.