2012-06-07 9 views
11

Acabo de encontrar Sublime Text 2 y es increíble. Lo único que echo de menos es la capacidad de ver la cadena de documentación de la función con la que estoy tratando. ¿Hay algún complemento que pueda hacer esto?¿Mostrar las cadenas de documentación de Python para la función actual en Sublime Text 2?

por ejemplo:

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" 

Editar: ya he intentado usar SublimeCodeIntel y SublimeRope, ni tienen ese apoyo.

Edit2: También debería funcionar para otros módulos en el proyecto abierto.

+1

SublimeCodeIntel hace esto bastante confiable para mí, al llevarme a la definición de la función. ¿De qué manera no funciona para ti? – fraxel

+0

Me gustaría una forma de ver el documento de la función sin tener que "entrar" en una función. Un vistazo rápido del documento en lugar de un cambio completo de alcance es lo que estoy esperando. – TorelTwiddler

+0

Entonces, SublimeCodeIntel funciona para usted, pero si producía el documento en una pantalla emergente o algo así, y dejaba el cursor donde estaba, ¿eso resolvería su problema? – fraxel

Respuesta

1

Al ajustar SublimeCodeIntel, puede desactivar el "salto" al archivo donde se define la función: esto le permitirá ver la definición de la función en la barra de estado al hacer clic secundario.

Para ello, seleccione Preferencias > Buscar Paquetes y luego abrir SublimeCodeIntel/SublimeCodeIntel.py.

Ir a class GotoPythonDefinition(sublime_plugin.TextCommand): y añadir un return en la línea 890 de manera que las primeras líneas de _trigger lectura:

 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 

(también se puede modificar el formato de cadenas msg y retire la defn.name a ahorrar un poco de barra de estado espacio).

Es un poco desorientador tener que mirar hacia abajo en la barra de estado para ver la definición ... también, la barra de estado no podrá mostrar definiciones largas. Sin embargo, es un comienzo. Es de esperar que el control de información sobre herramientas/ventana emergente esté disponible a través de la API para que las definiciones puedan aparecer en la vista junto a las funciones de alt-clic.

+1

No mencioné [SublimePeek] (https://github.com/jlegewie/SublimePeek) en mi respuesta, ya que su ventana emergente "Vista rápida" me pareció relativamente molesto (mucho más que un vistazo a la barra de estado). .. Solo tirarlo por ahí en caso de que te pueda interesar. –

4

Algo como this indicará el lugar correcto en la documentación, pero si realmente necesita documentación integrada en su entorno, consideraría usar un IDE. Sin embargo, yo también soy un fan de Sublime y simplemente abro un navegador cuando es necesario.

+0

Mirando el código del paquete (y probándolo un poco) parece no ser muy "inteligente" en el sentido de que solo funciona para las funciones integradas y los módulos de nivel de raíz. Por ejemplo, solo buscará 'f' si busco al final de' my_module.f', lo que da como resultado que no se encuentre documentación. Lo mismo es cierto para instancias de clase con 'self.f'. – TorelTwiddler

Cuestiones relacionadas