Freigeben über


Lo sapevate che … c’è un stack di navigazione di Go To Definition (Vai a definizione)?! - #367

Ho aggiunto un punto esclamativo perché questo non l’ho mai saputo. è incredibile che io trovi ancora nuove funzionalità dell’IDE! Quando finirà questa pazzia? In tutta sincerità, questa è una funzionalità dell’IDE specifica per C#, essendo collegata alla finestra Go To Definition . (Chiedo scusa agli sviluppatori VB. E agli sviluppatori C/C++ , leggete la mia nota sotto)

Sappiamo che Visual studio ha uno stack di navigazione dal post Navigate Forward and Navigate Backward keyboard shortcuts. Ma, e questo non lo sapevo, Visual Studio ha uno stack separato di navigazione per tenere traccia dei movimenti del cursore per le chiamate Go To Definition (ma solo per il codice C#?)

Si inizia richiamando Go To Definition, e ovviamente il cursore va alla definizione. Ora potete ritornare alla posizione precedente premendo CTRL+SHIFT+8.

View.PopBrowseContext command

E per ritornare alla definizione, premete CTRL+SHIFT+7.

View.ForwardBrowseContext Ctrl+Shift+7

Onestamente ho impiegato più di 30 minuti per capire come funziona questo stack di navigazione. Ho iniziato a capire come funzionava quando ho notato che il nome del comando dello shortcut Ctrl+Shift+8 è “View.PopBrowseContext”.

Ctrl+Shift+7 fa un push delle definizioni sullo stack e Ctrl+Shift+8 ne fa un pop. La parte che mi era risultata difficile da capire è stata che la navigazione è realmente uno stack, quindi l’operazione push esegue Go To Definition e l’operazione pop va alla locazione da cui la Go To Definition è stata chiamata. In altre parole, se eseguite tanti Ctrl+Shift+7 finché non avete esaurito le definizioni (quindi lo stack sarà vuoto) e poi premete Ctrl+Shift+8 per fare Go To Definition, lo stack conterrà solo una definizione. Quindi il prossimo Ctrl+Shift+7 avrà solo una locazione a cui andare.

Per i programmatori C/C++, pare che Ctrl+Shift+7 non funzioni(?) quindi nulla è mai rimesso sullo stack , per cui sembra che Ctrl+Shift+8 funzioni solo una volta.

Sperabilmente ore è tutto comprensibile!  =D

Correggetemi se sbaglio ma mi pare che questa sia una funzionalità solo di VS 2008

Syndication : Sara Ford’s Weblog

Traduzione autorizzata da Sara Ford.

Post Originale qui

Technorati Tags: VS2008Tip

Comments