|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
[Visual Studio 2008] Formattazione del codice imbarazzante
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 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
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 ![]() |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
Quote:
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. |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Prova a vedere se con il plugin Resharper ti trovi meglio.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Sisi'.
Ma ho conosciuto piu' di una persona che pensava di programmare sotto C++, mentre invece era C++/CLI.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#7 | |||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Quote:
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. Quote:
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. |
|||
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 488
|
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
|
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
Quote:
Ultima modifica di Sbrizzolo86 : 01-04-2010 alle 09:15. |
|
![]() |
![]() |
![]() |
#10 | |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
Quote:
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 ![]() |
|
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 488
|
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.
|
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
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 |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
[C#] - Aiutatemi. Poi nel corpo dice di avere problemi con il C++, ma posta un pezzo di codice in C ![]() 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 pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
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.
|
![]() |
![]() |
![]() |
#16 | |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 488
|
Quote:
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. |
|
![]() |
![]() |
![]() |
#18 | |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
Quote:
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. Ultima modifica di Sbrizzolo86 : 01-04-2010 alle 09:50. |
|
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Nov 2007
Messaggi: 488
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:12.