2012-06-07 8 views
11

Ho appena trovato Sublime Text 2 ed è fantastico. L'unica cosa che mi manca è la possibilità di visualizzare la stringa doc della funzione con cui ho a che fare. Ci sono dei plugin che possono farlo?Mostra le stringhe di documento Python per la funzione corrente in Sublime Text 2?

ad esempio:

def f(x): 
    '''a doc string for f''' 
    print x 

f # << at this point, either automatically or with a keystroke, 
    # I would like to be able to somehow view "a doc string for f" 

Edit: Ho già tentato di utilizzare SublimeCodeIntel e SublimeRope, né avere tale supporto.

Edit2: Dovrebbe funzionare anche per altri moduli nel progetto aperto.

+1

SublimeCodeIntel fa questo abbastanza affidabile per me, portandomi alla definizione della funzione. In che modo non funziona per te? – fraxel

+0

Vorrei un modo per visualizzare il doc della funzione senza dover "entrare" in una funzione. Una rapida occhiata al documento piuttosto che un completo spostamento di scopo è ciò che spero. – TorelTwiddler

+0

Quindi SublimeCodeIntel funziona per te, ma se ha prodotto il documento in un display pop-up o qualcosa del genere, e ha lasciato il cursore dove si trovava, avrebbe risolto il tuo problema? – fraxel

risposta

1

Tramite SublimeCodeIntel, è possibile disabilitare il "salto" al file in cui è definita la funzione - questo permetterà di vedere la definizione della funzione nella barra di stato cliccando alt-clic.

A tale scopo, selezionare Preferenze > Sfoglia Pacchetti e quindi aprire SublimeCodeIntel/SublimeCodeIntel.py.

Vai a class GotoPythonDefinition(sublime_plugin.TextCommand): e aggiungere una return alla linea 890 in modo tale che le prime righe di _trigger lettura:

 def _trigger(defns): 
      if defns is not None: 
       defn = defns[0] 
       if defn.name and defn.doc: 
        msg = "%s: %s" % (defn.name, defn.doc) 
        logger(view, 'info', msg, timeout=3000) 
        return 

(si possono anche modificare la formattazione msg corda e rimuovere il defn.name per salvare un po 'di barra di stato spazio).

È un po 'disorientante dover guardare verso il basso la barra di stato per vedere la definizione ... inoltre, la barra di stato non sarà in grado di visualizzare definizioni lunghe. Tuttavia, è un inizio. Si spera che il controllo tooltip/popup sia reso disponibile tramite l'API in modo che le definizioni possano apparire nella vista accanto alle funzioni alt-clic.

+1

Nella mia risposta non ho menzionato [SublimePeek] (https://github.com/jlegewie/SublimePeek), poiché il suo popup "Quick Look" mi sembrava relativamente fastidioso (molto più di una semplice occhiata alla barra di stato). .. Basta lanciarlo là fuori nel caso in cui potrebbe interessarti. –

4

Qualcosa come this indicherà la posizione corretta nella documentazione, ma se davvero avete bisogno di documentazione integrata nel vostro ambiente, prenderei in considerazione l'utilizzo di un IDE. Tuttavia, anch'io sono un fan di Sublime e apro un browser quando necessario.

+0

Guardando il codice del pacchetto (e provandolo un po ') sembra non essere molto "intelligente" in quanto funziona solo per funzioni integrate e moduli di livello root. Ad esempio, cercherà solo 'f' se cerco alla fine di' my_module.f', in modo che non venga trovata alcuna documentazione. Lo stesso vale per le istanze di classe con 'self.f'. – TorelTwiddler

Problemi correlati