2011-11-25 12 views
20

In C# possiamo creare regioni utilizzandomodulo di divisione Python in più zone

#region 
// some methods 
#endregion 

Esiste un modo per formattare il codice Python in modo simile in modo da poter osservare tutti i miei metodi rilevanti in un blocco?

risposta

4

Vi consiglio di dare un'occhiata a PyDev. Se strutturate bene il vostro codice Python sarà molto utile avere un profilo del documento e una piega del codice. Sfortunatamente non penso che tu possa fare strutture arbitrarie come #region C# (VS) o #pragma mark in C/C++/ObjC (Xcode/CDT).

+3

Si noti che in PyDev, se aggiungi un commento che inizi con: "# ---", quel commento dovrebbe apparire nel profilo per aiutarti a strutturare le cose (puoi fare clic con il tasto CTRL + MAIUSC + 4 su una riga per aggiungere quel blocco di commenti). –

+0

Vero.Comunque non è lo stesso di #region, ma è comunque molto utile. – Krumelur

18

Sembra PyCharm ha, vedi qui: https://www.jetbrains.com/help/pycharm/2016.1/code-folding.html#using_folding_comments

Per i file Python, i seguenti due stili sono supportati. Non dovresti mescolarli entrambi in un singolo file.

#<editor-fold desc="Description"> 
... 
#</editor-fold> 

o

#region Description 
... 
#endregion 

Visual Studio accetta "regione" troppo

+0

Il link non è più valido. Qualche consiglio? – Zbun

+0

Non preoccuparti per il collegamento, in PyCharm, usa semplicemente #region e #endregion – Zerubbabel

-4

Basta utilizzare le classi ... non so perché questo è così difficile

class MyNewClass: 
    def MyFirstMethod(self): 
     print("MyFirstMethod in MyFirstClass") 

Ciò fornirà la struttura che stai cercando. Testato e funziona dal Python 2.6

se non avete usato le classi in Python li si può chiamare proprio come si fa in C#

x = MyNewClass() 
x.MyFirstMethod() 

Godetevi

+0

L'uso della classe in questo modo è più simile ai domini che alle regioni. – winwaed

+1

Non una soluzione ragionevole. Prendi l'esempio dei modelli di Django. I modelli sono generalmente molto grassi, con molti dati e molti metodi per agire su quei dati. Una volta che un modello raggiunge dimensioni ragionevoli, è una buona idea dividere i campi per sedersi più vicino ai loro metodi. Usare etichette pieghevoli per evidenziare le regioni è un uso perfetto. Ora posso identificare rapidamente dove dovrei mettere un nuovo metodo da fare con la gestione dello stato, un nuovo campo da fare con le informazioni di pagamento, ecc. –

+0

Anche con metodi statici o di classe dovrai digitare di più per usare il metodo o la proprietà, con istanze che dovrai inizializzare la classe. Quindi per organizzare la lezione nelle regioni dovrai affrontare 2 classi? – Dmitriy

8

Con Python Tools for Visual Studio è possibile utilizzare:

#region My Block of Code 
def f1(): 
    pass 
def f2(): 
    pass 
#endregion 

Quindi puoi piegare le regioni nello stesso modo in cui fai C#.

2

Nel testo sublime 3 si può semplicemente digitare un commento e rientrare il codice come se fosse sotto il commento e quindi si può piegare come C#

# Region 
    (some code here...) 
1

Sì, è possibile in stesso modo come abbiamo fatto noi in C#, ma tenete a mente questo è per PyCharm IDE esempio

#region Description 
... 
#endregion 

riferimento here

-1

Per mantenere PyCharm dal lamentano la violazione PEP 8 utilizzare

#region Start Comment for region 
    your code here 
#endregion 
0

Spiacenti, l'editor ha cambiato il mio testo In PyCharm, per impedire l'utilizzo di avvertimento PEP 8

# region region name here 

your code here 

# endregion 
+1

Dovresti aver modificato la tua risposta originale invece di postarne una nuova. Vedi il pulsante "modifica" sotto quella risposta originale? – ndmeiri

Problemi correlati