web-dev-qa-db-fra.com

La fenêtre contextuelle de complétion automatique de Sublime Text 2 ne fonctionne pas correctement

J'ai eu un problème avec jQuery Snippet que j'ai installé tout au long du contrôle de package. Après l'installation, je n'ai pas de popup avec des conseils de code jQuery et l'intalisance. Regardez cette vidéo:
http://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2/lessons/adding-snippets-through-package-control

Le 0:50 après avoir tapé . il a obtenu un popup avec des indices de code - je n'ai pas celui-ci. Je dois taper . puis appuyez sur Tab pour afficher une fenêtre contextuelle avec un extrait ...
Et oui, je suis dans un fichier JavaScript et j'ai les paramètres par défaut.

Et après . il a également obtenu toutes les fonctions jQuery comme add ou addClass. Je n'ai pas celui-ci même si j'appuie Ctrl+Space.

25
born2fr4g

Si vous appuyez sur CTRL-ESPACE, vous obtiendrez la liste déroulante des compléments disponibles pour ce que vous venez de taper.

http://www.sublimetext.com/docs/2/tab_completion.html

Si vous souhaitez que la liste déroulante de saisie semi-automatique apparaisse lors de la frappe, ajoutez cette ligne à votre fichier User Preferences.sublime-settings:

{
  "auto_complete_selector": "source, text"
}

Cela devrait faire ce que vous cherchez :-)

64
Richard Jordan

Pensez à modifier les paramètres utilisateur comme suit:

{
  // By default, auto complete will commit the current completion on enter.
  // This setting can be used to make it complete on tab instead.
  // Completing on tab is generally a superior option, as it removes
  // ambiguity between committing the completion and inserting a newline.
  "auto_complete_commit_on_tab": true,

  // Controls if auto complete is shown when snippet fields are active.
  // Only relevant if auto_complete_commit_on_tab is true.
  "auto_complete_with_fields": true,

  // As Richard Jordan suggested, this item
  // controls what scopes auto complete will be triggered in
  "auto_complete_selector": "source, text"
}

Ouvrez vos Paramètres utilisateur en appuyant sur Cmd+, sur Mac ou Ctrl+, sous Windows

Et si vous voulez saisir pleinement Sublime Text 2, je recommande ce cours: Perfect Workflow in Sublime Text . Il était gratuit au moment où j'ai publié cette réponse pour la première fois. Je le recommande quand même.

14
Flavio Wuensche

Quel système d'exploitation utilisez-vous? Je devine Windows.

Le problème semble être que les extraits de jQuery dans les plugins disponibles ont <tabTrigger> attributs commençant par un $ ou un . , qui cause des ennuis.

Essayez ce qui suit: Recherchez le package jQuery qui contient ces extraits (sous Préférences -> Parcourir les packages) et ouvrez le fichier .sublime-snippet d'un extrait qui ne fonctionne pas correctement. Celui que vous avez nommé dans votre message serait défini dans le fichier event-on.sublime-snippet.

Trouvez la ligne

<tabTrigger>.on</tabTrigger>

et supprimez le . comme suit

<tabTrigger>on</tabTrigger>

Enregistrez et revenez à votre fichier .js. Vérifiez maintenant si l'extrait s'affiche lorsque vous tapez o. Cela fonctionne pour moi.

Je suppose que c'est un bug dans Sublime Text 2 pour Windows (peut-être aussi Linux?), Car cela fonctionne bien sur OS X, comme nous le voyons dans le cours vidéo que vous avez lié.

Il y avait un problème créé sur GitHub sur ce paquet spécifique et j'ai maintenant commenté cette information. Je suppose que la seule façon de faire fonctionner cela est d'avoir des extraits qui ne commencent pas par des caractères spéciaux.

J'ai également déposé un bogue pour Sublime Text sur Userecho .

Le créateur de la vidéo utilise SublimeCodeIntel . Ce que vous voyez à 00:50 n'est pas le popup d'auto-complétion de Sublime Text 2, c'est le popup d'auto-complétion d'importation de SublimeCodeIntel:

Importation de la saisie semi-automatique - Affiche la saisie semi-automatique avec les modules/symboles disponibles en temps réel.

Voir la page Github pour plus d'informations.

3
angerson