Nell’ultima attività di refactoring, ho avuto la necessità di estrarre tutti i namespace che interessavano i vari progetti della Solution. Per poter ottenere l’elenco completo mi sono affidato a powershell. Probabilmente non sarà la soluzione più elegante da utilizzare, ma è stata sicuramente efficace.
Di seguito il codice dello script che ho utilizzato:
dir -r -filter *.cs | Select-String -pattern "^using" | Select-Object -expand Line -unique | Format-List -property Line
La prima istruzione effettua la scansione di tutti i file con estensione .cs a partire dalla directory corrente. Il risultato, viene parsificato dalla seconda chain ricercando il pattern che inizia per la parola chiave using.