Obtendo preenchimento automático JS completo em Texto Sublime

98

Acabei de instalar o Sublime Text no Windows Vista, e mesmo seguindo o conselho dado neste post , ou seja, para definir explicitamente View > Syntax > JavaScript > JavaScript, só vejo sugestões baseadas no que já havia digitado. Até instalei o plug-in SublimeCodeIntel , mas não adiantou.

Pelo que entendi, no momento em que escrevo "pars", devo obter as opções "parseFloat" e "parseInt", como nas ferramentas de desenvolvedor do Chrome, certo?

Obrigado!

Ezequiel-Garzon
fonte
8
este 2015: a situação não melhorou. Nada funciona fora da caixa. Editores de 8 anos têm melhor preenchimento automático.
Muhammad Umer
Veja minha resposta abaixo, @MuhammadUmer. Até agora, funciona; fora da caixa .. e bonito.
Steve Meisner
1
@SteveMeisner - sua resposta é discutida aqui meta.stackoverflow.com/q/341163/73226
Martin Smith
1
Eu tinha respondido com uma resposta principalmente "apenas link" e foi esnobado. Mas aqui está o pacote fantástico que eu tenho para JS intellisense / autocompletion: github.com/pichillilorenzo/JavaScript-Completions
Steve Meisner
Apenas no caso de alguém como eu lidar com esse problema. Este foi o motivo pelo qual mudei para o VS Code. Ele tem esse recurso maravilhoso do Intellisense que funciona bem também obtendo preenchimentos automáticos entre módulos JS. Até agora gostando.
Sergiy Ostrovsky

Respostas:

77

As sugestões são (basicamente) baseadas no texto no arquivo aberto atual e em quaisquer fragmentos ou conclusões que você definiu ( ref ). Se você quiser mais sugestões de texto, recomendo:

Como uma observação lateral, eu realmente recomendo instalar o controle de pacote para aproveitar ao máximo a comunidade Sublime. Algumas das opções acima usam o controle de pacote. Eu também recomendo fortemente os vídeos tutoriais do tutsplus Sublime , que incluem todos os tipos de informações sobre como melhorar sua eficiência ao usar o Sublime.

dbn
fonte
1
Votado e aceito com base no maravilhoso kit de ferramentas Emmet! É alucinante. Ele não conhece tanto JS quanto o inspetor da web do Chrome, mas acho que isso não é tão ruim. (Afinal, eu quero melhorar minha memória muscular.) Por outro lado, o trabalho que Emmet faz por você é incrível! Obrigado!
ezequiel-garzon
2
Ainda bem que foi útil. Espero que você acabe assistindo toda a sequência do tutorial; há muitas coisas boas lá.
dbn
1
Mas não é grátis: / talvez tenha sido antes.
Jeff P Chacko
3
Acho que foi um anúncio do site tutsplus. Talvez não fosse originalmente, mas prefiro ver respostas vinculadas não atrás de paywalls.
dcmbrown
heh, sim, aqueles eram todos gratuitos quando eu os assistia. Atualizando a resposta para observar que eles estão atrás de um acesso pago.
dbn
66

Ternjs é uma nova alternativa para obter o preenchimento automático de JS. http://ternjs.net/

Sublime Plugin

O plugin Tern mais bem mantido para Texto Sublime é chamado 'tern_for_sublime'

Existe também um plugin mais antigo chamado 'TernJS' . Ele não é mantido e contém vários bugs relacionados ao desempenho, que fazem com que o Sublime Text trave, então evite isso.

subhaze
fonte
2
Crashes ST3. O projeto não é mantido.
Acordes de
1
Eu não experimentei isso, qual pacote você está usando? Estou usando github.com/marijnh/tern_for_sublime
subhaze
2
Eu recomendaria usar aquele do link que forneci na resposta e no meu comentário. Ainda é mantido.
subhaze
1
Eu realmente não vejo isso como 'salgado', mas eu queria salientar que seu comentário estava incorreto ao dizer que o plugin que eu vinculei não foi mantido. Como tem atualizações muito recentes no github.
subhaze de
1
Eu atualizei o comentário para ficar menos / não salgado: / e enquanto estiver lendo esses comentários espero que as pessoas não sejam 'desviadas', mas na direção correta.
subhaze de
41

Como já mencionado, tern.js é um projeto novo e promissor com plugins para Sublime Text, Vim e Emacs. Eu uso o TernJS for Sublime há um tempo e as sugestões que recebo são muito melhores do que as padrão:

insira a descrição da imagem aqui

O Tern verifica todos os arquivos .js em seu projeto. Você pode obter suporte para DOM, nodejs, jQuery e mais adicionando "libs" em seu arquivo de projeto .sublime:

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

insira a descrição da imagem aqui

Eosterberg
fonte
No último exemplo, não estou recebendo a sugestão 'src' - acabei de instalar (Sublime Text 3) e usei a configuração do seu projeto.
Rune Jeppesen
2
Qualquer suporte para javascript do estilo ES6 (ES2015)?
Dan Esparza
1
Sim, o site do projeto tern.js contém uma lista de recursos ES6 com suporte
eosterberg
1
Para valer a pena, você está declarando que usa "tern para sublime", mas ele se vincula ao plug-in ternJS ... Tern for Sublime -> packagecontrol.io/packages/tern_for_sublime TernJS -> packagecontrol.io/packages/TernJS
subhaze
Estou surpreso que você tenha obtido o atributo selectedIndex, pois createTag retornará uma tag HTTP img. Além disso, selectedIndex pertence a uma tag HTTP selecionada, NÃO a img ou seu elemento pai. Você poderia comentar sobre como você consegue essas duas sugestões? Acredito que seja porque você os usou em outros arquivos, e não porque JsTern tem a capacidade de resolver a chamada createElement durante a execução. No entanto, sugerir selectedIndex não faz sentido.
Alex
6

Desenvolvi um novo plugin chamado JavaScript Enhancements , que você pode encontrar no Package Control . Ele usa o Flow (verificador de tipo estático javascript do Facebook) sob o capô.

Além disso, oferece autocomplete javascript inteligente (em comparação com meu outro plugin JavaScript Completions), erros em tempo real , refatoração de código e também muitos recursos sobre como criar, desenvolver e gerenciar projetos javascript .

Consulte a Wiki para saber todas as funcionalidades que ela oferece!

Uma introdução a esse plug-in pode ser encontrada neste artigo css-tricks.com : Transforme o Sublime Text 3 em um IDE de JavaScript

Apenas algumas capturas de tela rápidas:

Lorenzo Pichilli
fonte
1
Oi Lorenzo. Estou curioso sobre o seu projeto, mas gostaria de saber quais opções tenho em termos de customização das completações. Basicamente, quero ter sugestões como docu> document, document.que> document.querySelectore assim por diante, mas nunca uma chamada de função completa com argumentos e várias linhas como arr.forEa> arr.forEach((object,index,array) => { /* newline */ });, se isso fizer sentido. Posso desabilitar isso com os aprimoramentos de Javascript sem precisar editar manualmente todos os arquivos de conclusão? Desativei todas as conclusões agora, pois sou um pouco obsessivo com minha estrutura.
ViggoV
1

Verifique se os snippets possuem <tabTrigger>atributos que começam com caracteres especiais. Se o fizerem, eles não aparecerão na caixa de preenchimento automático. Este é atualmente um problema no Windows com os plug-ins jQuery disponíveis .

Veja minha resposta neste tópico para mais detalhes.

Alexander Rechsteiner
fonte