2009-08-23 11 views
38

Come posso modificare lo spazio dei nomi predefinito utilizzato quando si crea una nuova classe in Visual Studio?Modificare lo spazio dei nomi predefinito durante la creazione di una classe nella cartella (Visual Studio)

Background: La mia soluzione ha un progetto MyCompany.MyProject.Domain in cui ho una cartella "Model Base (Linq)" con una sottocartella "Estensioni" dove tengo tutte le estensioni di classe parziali.

MyCompany.MyProject.Domain 
    + Model Base (Linq) 
     + Extensions 
      - Order.cs 
      - Trace.cs 

Quando creo un nuovo file con estensione cs in là, lo spazio dei nomi viene impostato su MyCompany.MyProject.Domain.Model_Base \ _ \ _ Linq \ _ \ _. Estensioni, voglio solo che sia MyCompany.MyProject .Domain.Model però.

Come posso modificare questo comportamento predefinito?

risposta

36

Ci sono 4 scuole di pensiero qui:

  • modificare manualmente
  • vivere con esso
  • cambiamento del modello di classe (o esportare un secondo modello di classe)
  • creare il file al di fuori del sottodirectory, quindi trascinarlo in

Io tendo ad usare il 4 °; è più veloce di editing, e meno problemi che cambiare i modelli

+0

Eventuali suggerimenti sulla creazione di un nuovo modello di classe e su come raggiungerlo con esso? – Alex

+2

Sicuro; File-> Esporta modello-> Modello oggetto (quindi modificalo); tuttavia, vi è un'arte nera arcana per i token sostitutivi che è possibile utilizzare. Mi aspetto che tu possa utilizzare il modello ** root **, ma sarebbe difficile scegliere uno spazio dei nomi per "tutte le directory eccetto quelle più profonde" –

+0

Vedi anche: http://visualstudiomagazine.com/articles/2008/09 /01/define-your-own-item-templates.aspx –

5

Per modificare lo spazio dei nomi di default:

Fare clic destro sul progetto, andare alle proprietà e sotto la scheda 'Application' c'è un 'spazio dei nomi di default' campo.

Nota che questo non risponde alla tua domanda esatta, dipende dalla cartella. In pratica, devi rinominare la cartella in "Modello".

+11

Questo non risponde alla sua domanda - sta chiedendo come modificare lo spazio dei nomi predefinito per una cartella all'interno di un progetto, che è difficile, piuttosto che lo spazio dei nomi per un progetto stesso, il che è ovvio. –

+0

@Chris: hai * letto * la mia risposta? L'ho detto. –

+13

Ho fatto - è la risposta ovvia a una domanda che non ha chiesto ... –

3

Se è stato installato ReSharper, fare clic con il pulsante destro del mouse sulla cartella nella soluzione che si desidera escludere dai namespace e selezionare le proprietà. Nel riquadro delle proprietà selezionare False per il provider di spazi dei nomi e Visual Studio ignorerà la cartella quando genererà spazi dei nomi in nuovi file.

Visual Studio solution folder properties pane.

+0

Io uso ReSharper su Visual Studio 2015, anche se vedo questa opzione e l'ho sempre impostata su false ... non funziona. Quando creo una nuova classe, lo spazio dei nomi termina con il nome della cartella. :(Se la nuova classe è una forma ... l'intera soluzione va storta. – tedebus

1

ReSharper ha cambiato il modo fanno questo (come di VS2017).

  1. Aggiungi la tua cartella.
  2. Aggiungi la tua prima lezione.
  3. Modifica manualmente lo spazio dei nomi come desideri. (Di solito questo rimuove l'ultimo pezzo dallo spazio dei nomi che rappresenta la cartella in cui si trova la classe.)
  4. Lo spazio dei nomi verrà ora sottolineato per dire che non corrisponde alla struttura delle cartelle. Fare clic sulle opzioni per risolverlo e selezionare "Cartella" ... "Non introdurre lo spazio dei nomi".

Ora la cartella è impostata per prevedere lo spazio dei nomi per tutte le nuove classi. Tuttavia, quando aggiungi una nuova classe alla cartella, ora si lamenta che non è lo spazio dei nomi a cui lo hai impostato nel passaggio # 3 sopra.

Quindi, è ancora necessario modificare manualmente lo spazio dei nomi, ma almeno resharper non sta cercando di combattere più.

Problemi correlati