2012-04-29 12 views
9

TL; DR: Le informazioni sul tipo visualizzate in Visual Studio/Debugger/Intellisense/Compilatore per nomi di caratteri lunghi da stl devono essere ripulite per lo sviluppatore?Rumore ridotto nella vista di debug dei tipi di stl

C++, Visual Studio

Si consideri il codice:

std::map<int, int> m; 

consideri il tipo informazioni in

  1. La finestra di controllo watch window

  2. Con un mouse sulla identificatore mouse over

  3. Intellisense prompt (parametri di un metodo, immagine formattati per brevità) method parameter

  4. (come # 3) il completamento IntelliSense per un identificatore come si digita il nome intellisense

Ciascuno di questi casi sta mostrando le descrizioni dei tipi di contenitori STL sono una lunga pasticcio di dettagli raramente necessari.

ho notato Visual Studio 2011 ora sta mostrando string come std::string (un miglioramento impressionante), invece di std::basic_string<char, std::char_traits<char>, std::allocator<char>> - ma questo non si verifica per altri tipi di STL che ho provato.

So perché mostra le informazioni, so che le informazioni sono corrette e, in alcuni casi, di importanza critica. È semplicemente la mia opinione che la maggior parte delle volte, lo sviluppatore non potrebbe importare di meno e map<int, int> sarebbe sufficiente. Un modo per formattare o configurare l'output per ridurre il rumore?

+0

Oltre a essere lontano da un nome lungo, è uno dei problemi fondamentali degli errori e del debug in C++. Non c'è nulla che puoi tralasciare senza nascondere le informazioni essenziali. – pmr

+2

Bella combinazione di colori! – Puppy

+0

@ pmr Sono d'accordo che è un'informazione essenziale - ma mi stai dicendo che non lo sai (a meno che qualcuno non abbia violato i nomi) che 'std :: map ' IS 'std :: map , std :: allocator >> '? Devi vederlo ogni volta perché hai dimenticato o non sei sicuro? Questa non è un'informazione essenziale che devi vedere OGNI VOLTA. Questo è il mio punto. – payo

risposta

1

Lo strumento che stai cercando per STLFilt (http://www.bdsoft.com/tools/stlfilt.html).

Cortesia: http: //yosefk.com/c++fqa/templates.html#fqa-35.17

Anche se gli avvertimenti criptici/errori possono essere ingombrante per decodificare per un principiante, vi suggerisco di abituarsi ad esso, se si desidera essere un professionista.

+0

Posso leggere l'output criptico stl bene (sto scrivendo C++ professionalmente da molti anni a questa parte), è solo una perdita di tempo leggerlo. Controllerò il tuo suggerimento, grazie. – payo

+0

stlfilt sarà abbastanza buono, grazie per il suggerimento :) – payo

Problemi correlati