Obtener el autocompletado completo de JS en Sublime Text

98

Acabo de instalar Sublime Text en Windows Vista, e incluso siguiendo los consejos dados en esta publicación , es decir View > Syntax > JavaScript > JavaScript, establecer explícitamente , solo veo sugerencias basadas en lo que he escrito anteriormente. Incluso instalé el complemento SublimeCodeIntel , sin éxito.

Según tengo entendido, en el momento en que escribo "pars" debería obtener las opciones "parseFloat" y "parseInt", como en las herramientas de desarrollo de Chrome, ¿verdad?

¡Gracias!

ezequiel-garzón
fuente
8
este 2015: la situación no ha mejorado. Nada funciona fuera de la caja. Los editores de 8 años tienen mejor autocompletado.
Muhammad Umer
Vea mi respuesta a continuación, @MuhammadUmer. Hasta ahora funciona; fuera de la caja .. y hermoso.
Steve Meisner
1
@SteveMeisner: su respuesta se discute aquí meta.stackoverflow.com/q/341163/73226
Martin Smith
1
Yo había respondido con una respuesta mayoritariamente de "solo enlace" y se puso snob. Pero aquí está el paquete fantástico que tengo para JS intellisense / autocompletion: github.com/pichillilorenzo/JavaScript-Completions
Steve Meisner
Por si acaso alguien como yo lidia con este problema. Esta fue la razón por la que cambié a VS Code. Tiene esta maravillosa característica de Intellisense que funciona bien y también logra autocompletar en los módulos JS. Hasta ahora disfrutándolo.
Sergiy Ostrovsky

Respuestas:

77

Las sugerencias se basan (básicamente) en el texto del archivo abierto actual y en los fragmentos o compleciones que haya definido ( ref ). Si desea más sugerencias de texto, le recomiendo:

Como nota al margen, realmente recomiendo instalar Package control para aprovechar al máximo la comunidad Sublime. Algunas de las opciones anteriores utilizan el control de paquetes. También recomiendo encarecidamente los videos tutoriales de tutsplus Sublime , que incluyen todo tipo de información sobre cómo mejorar su eficiencia al usar Sublime.

dbn
fuente
1
¡Votado y aceptado basado en el maravilloso kit de herramientas de Emmet! Es alucinante. No conoce tanto JS como el inspector web de Chrome, pero supongo que eso no es tan malo. (Después de todo, quiero mejorar mi memoria muscular). Por otro lado, ¡el trabajo que Emmet hace por ti es increíble! ¡Gracias!
ezequiel-garzón
2
Me alegro de que haya sido útil. Espero que termines viendo toda la secuencia del tutorial; hay muchas cosas buenas ahí.
dbn
1
Pero no es gratis: / quizás fue antes.
Jeff P Chacko
3
Siento que era un anuncio para el sitio tutsplus. Tal vez no fue originalmente, pero prefiero ver respuestas vinculadas no detrás de muros de pago.
dcmbrown
je, sí, todos eran gratis cuando los vi. Actualización de la respuesta para tener en cuenta que estos están detrás de un muro de pago.
dbn
66

Ternjs es una nueva alternativa para obtener el autocompletado de JS. http://ternjs.net/

Complemento sublime

El complemento Tern mejor mantenido para Sublime Text se llama 'tern_for_sublime'

También hay un complemento más antiguo llamado 'TernJS' . No se mantiene y contiene varios errores relacionados con el rendimiento, que hacen que Sublime Text se bloquee, así que evítelo.

calmar
fuente
2
Se bloquea ST3. El proyecto no se mantiene.
Acordes
1
No he experimentado eso, ¿qué paquete estás usando? Estoy usando github.com/marijnh/tern_for_sublime
subhaze
2
Recomendaría usar el que está en el enlace que proporcioné en la respuesta y en mi comentario. Todavía se mantiene.
subhaze
1
Realmente no veo eso como 'salado', pero quería señalar que su comentario era incorrecto al decir que el complemento al que me vinculé no se mantuvo. Como tiene actualizaciones muy recientes en github.
subhaze
1
Actualicé el comentario para que, con suerte, sea menos / no salado: / y mientras lee estos comentarios, es de esperar que la gente no se 'desvíe' sino en la dirección correcta.
subhaze
41

Como ya se mencionó, tern.js es un proyecto nuevo y prometedor con complementos para Sublime Text, Vim y Emacs. He estado usando TernJS para Sublime por un tiempo y las sugerencias que recibo son mucho mejores que las estándar:

ingrese la descripción de la imagen aquí

Tern analiza todos los archivos .js de su proyecto. Puede obtener soporte para DOM, nodejs, jQuery y más agregando "libs" en su archivo .sublime-project:

"ternjs": {
    "exclude": ["wordpress/**", "node_modules/**"],
    "libs": ["browser", "jquery"],
    "plugins": {
        "requirejs": {
            "baseURL": "./js"
        }
    }
}

ingrese la descripción de la imagen aquí

Eosterberg
fuente
En el último ejemplo, no recibo la sugerencia 'src'; acabo de instalar (Sublime Text 3) y utilicé la configuración de su proyecto.
Rune Jeppesen
2
¿Soporte para javascript estilo ES6 (ES2015)?
Dan Esparza
1
Sí, el sitio del proyecto tern.js contiene una lista de funciones compatibles con ES6
eosterberg
1
Por lo que vale, está diciendo que usa "tern para sublime" pero enlaza con el complemento ternJS ... Tern para Sublime -> packagecontrol.io/packages/tern_for_sublime TernJS -> packagecontrol.io/packages/TernJS
subhaze
Me sorprende que obtenga el atributo selectedIndex, ya que createTag devolverá una etiqueta HTTP img. Además, selectedIndex pertenece a una etiqueta HTTP seleccionada, NO a img o su elemento principal. ¿Sería tan amable de comentar acerca de cómo obtiene esas dos sugerencias? Creo que es porque los ha usado en otros archivos, y no porque JsTern tenga la capacidad de resolver la llamada createElement sobre la marcha. Sin embargo, sugerir selectedIndex no tiene sentido.
Alex
6

Desarrollé un nuevo complemento llamado JavaScript Enhancements , que puede encontrar en Package Control . Utiliza Flow (verificador de tipo estático javascript de Facebook) bajo el capó.

Además, ofrece autocompletado inteligente de JavaScript (en comparación con mis otros complementos de JavaScript de complementos), errores en tiempo real , refactorización de código y también muchas funciones sobre la creación, desarrollo y administración de proyectos de JavaScript .

¡Consulte la Wiki para conocer todas las características que ofrece!

Se puede encontrar una introducción a este complemento en este artículo de css-tricks.com : Turn Sublime Text 3 en un IDE de JavaScript

Solo algunas capturas de pantalla rápidas:

Lorenzo Pichilli
fuente
1
Hola Lorenzo. Tengo curiosidad por tu proyecto, pero me gustaría conocer las opciones que tengo en cuanto a personalizar las terminaciones. Básicamente, quiero tener sugerencias como docu> document, document.que> document.querySelectory así sucesivamente, pero nunca una llamada de función completa con argumentos y varias líneas como arr.forEa> arr.forEach((object,index,array) => { /* newline */ });, si eso tiene sentido. ¿Puedo deshabilitar eso con las mejoras de Javascript sin tener que editar manualmente todos los archivos de finalización? He desactivado todas las terminaciones ya que estoy un poco obsesionado con mi estructura.
ViggoV
1

Compruebe si los fragmentos tienen <tabTrigger>atributos que comienzan con caracteres especiales. Si lo hacen, no aparecerán en el cuadro de autocompletar. Actualmente, esto es un problema en Windows con los complementos de jQuery disponibles .

Vea mi respuesta en este hilo para más detalles.

Alexander Rechsteiner
fuente