Comment puis-je configurer webstorm pour ajouter automatiquement des points-virgules pour des fonctions javascript, des méthodes, etc
Quand j'écris Javascript, j'utilise des points-virgules. Cependant quand j'écris dans webstorm/phpstorm, l'auto complète les accolades et les crochets, mais n'est pas auto-ajoutez un point-virgule. Je sais que ce n'est pas requise par les normes, etc., mais c'est la voie que je code et je ne suis pas seul, beaucoup de gens le code de cette façon.
Exemple:
var data = $.ajax({});
Normalement, webstorm/phpstorm va le faire, et de laisser le curseur à l'intérieur des accolades:
var data = $.ajax({})
Tout dans le monde que je veux, c'est de ne pas avoir à ajouter le point-virgule manuellement et avoir juste de l'auto-complétion comme je l'ai indiqué dans mon premier exemple.
- Cela aurait été vraiment sympa en effet! Lorsque le codage en PHP, j'ai le même problème et en PHP, les points-virgules sont nécessaires...
- D'accord! cela devrait être une demande de fonctionnalité.
- Personnellement, je crois que c'est une idée horrible pour un IDE à l'appui de la mauvaise programmation de comportements / habitudes.
- Ce dont nous avons besoin est pour des points-virgules pour ne pas être nécessaire. C'est vraiment stupide. Je sais je sais, nous avons besoin d'indiquer la fin d'une instruction, mais 99,99% du temps d'un saut de ligne indique la fin d'une instruction. La valeur par défaut devrait être de retour à la ligne=fin de l'instruction, sauf si nous indiquer explicitement qu'il ne l'est pas.
Vous devez vous connecter pour publier un commentaire.
Il n'y a aucun moyen de l'insérer automatiquement, vous devez utiliser le Énoncé Complet action (Ctrl+Maj+Entrée).
Vous devez également vérifier que Utilisez le point-virgule pour mettre fin à des déclarations option est activée dans
Settings
|Code Style
|JavaScript
|Other
onglet.Vous pouvez faire une macro et les raccourcis clavier:
De https://gist.github.com/umidjons/9383758
Serait beaucoup mieux si il y avait une option pour le faire automatiquement si...
Ce Que Je Veux Faire
Mon objectif était d'ajouter un point-virgule à la fin de ma ligne actuelle tout en maintenant ma position du curseur dans le milieu de la ligne.
par exemple
Pourquoi Je Veux Le Faire
WebStorm joliment "complète" de la ponctuation comme le type I, c'est à dire après je tape le
({['
, il effectue automatiquement à({[' <<cursor here>> ']})
. Je veux m'assurer que je comprend le point-virgule à la ligne à la fin de l' maintenant avant que je ne plus taper, parce que je pourrais l'oublier plus tard. Après l'ajout de la semi-colon, en revanche, je veux continuer à taper à l'emplacement actuel du curseur. Je sais que je peux utiliser l'auto-complétion pour ajouter un point-virgule à la ligne de la fin, mais cela laisse le curseur à la fin de la ligne, m'obligeant à frapper l'arrière-flèche à plusieurs reprises. En outre, parfois, mon demi-ligne complète de ne pas encore être corriger la syntaxe JavaScript, donc, l'auto-complétion ne pourraient même pas de travail.Pourquoi Il Était Difficile
La solution semble simple: écrire une macro simple de sauter à la fin de la ligne, tapez un point-virgule, et revenir à mon emplacement d'origine. Le problème est, il est difficile de comprendre comment l'amadouer WebStorm pour revenir à mon emplacement d'origine! J'ai essayé de fixer un signet, d'aller à la ligne de fin, tapez un point-virgule, et de retourner à mes favoris, mais cela ne fonctionne pas, car, autant que je peux dire, signets que rappeler la ligne, pas la colonne. J'ai essayé d'abord de taper des ordures texte du marqueur à ma position actuelle (par exemple,
xcursorx
), en allant à la ligne à la fin de l', en tapant un point-virgule, et de faire une simplefind
de mes ordures marqueur de texte, mais cela ne fonctionne pas, soit parce WebStorm macros ne semblent pas jouer gentiment avec la saisie de texte dans lefind
routine. J'ai essayé d'abord de taper des ordures marqueur de texte, en allant à la ligne à la fin de l', en tapant un point-virgule, et à l'aide deNavigate/Last Edit Location
et la suppression de la poubelle, mais qui ne fonctionne pas.De Ce Qui Est Finalement Travaillé
J'ai fait une macro comme suit (les raccourcis clavier affichés dans les différentes étapes sont ceux de la "Mac OS X 10.5+" keymap...choisir les raccourcis ou les options de menu sont appropriés pour votre installation):
Edit > Macros > Start Macro Recording
)Edit > Find > Find Word at Caret
) (ne pas utiliser la normalefind
alors manuellement en tapant "xcursorx")Edit > Find > Find Previous/Move to Previous Occurrence
ou maj-commande-G); cela permet de sélectionner les "xcursorx" dans le ".xcursorx."Edit > Macros > Stop Macro Recording
)Preferences > (scroll down to) Macros > place-semicolon-at-end-of-line > (right click) > Add Keyboard Shortcut
... et entrez le raccourci que vous souhaitez, par exemple, l'option-point-virgule)Explication de Quelque Obscure Étapes
Pas toutes les étapes ci-dessus sont nécessaires pour certains cas d'utilisation. par exemple en Ajoutant les périodes supplémentaires n'est pas nécessaire pour que cela fonctionne dans l'exemple en haut à l'aide de
func([{''}])
. Cependant, les étapes supplémentaires sont nécessaires pour certains cas limites, par exemple, si votre curseur se trouve déjà à la fin de la ligne.Comment L'Utiliser
Pour utiliser la macro, commencer avec votre normal de frappe (dans l'exemple au dessus, type
func([{'
provoquantfunc([{''}])
à paraître), tapez votre raccourci (par exemple, l'option-point-virgule), et le point-virgule apparaît à la fin de la ligne, mais votre curseur va rester où il est.Mise en garde
Cette solution est un peu un hack, comme l'écran saute un peu comme les ordures texte est inséré, puis supprimé. Cependant, au moins il fonctionne. Si quelqu'un peut trouver comment accomplir le même but final, sans exiger des ordures marqueur de texte, ce serait génial.
Vous pouvez utiliser cette https://github.com/yyx990803/semi.
Fournir des cli et de l'api pour répondre à vos besoins.
Vous pouvez utiliser
eslint
:définir la
"semi"
règle de"error"
ou2
dans le fichier que vous souhaitez ajouter des points-virgules droit de la souris, puis sélectionnez
Fix ESLint Problems
près de la partie inférieure du menuPour IntelliJ Idea 2018, suivez les étapes ci-dessous:
Il faudra donc plus de point-virgule dans JS.
Ouais, si vous le laissez sans un point-virgule Webstorm sera
unterminated statement
et mettez-le en surbrillance. Lorsque vous êtes sur la ligne (avec le curseur) comme l'accolade de fermeture, tapez simplement:Qui apportera de la lumière d'ampoule de menu (auto corrige ou les changements de trucs, je n'ai pas de meilleur nom pour elle).
Heureusement, si votre code est correct, ou le corset est le seul symbole de cette ligne, la seule option que vous avez la volonté est
Terminate statement
et il sera automatiquement porté sur, suffit d'appuyer sur la touche entrée pour Webstorm pour ajouter le point-virgule.De cette façon, vous permet d'économiser de la main à positionner le curseur et taper le point-virgule vous-même, mais juste être sur cette ligne en quelque sorte, et de faire alt+entrée+ entrée et là vous l'avez.
Ouais, il est pas automatiquement là, mais il est plus rapide et facile.
Nécessite encore de l'action manuelle, mais je venais de frapper Fin et ; à chaque fois. Mais Ctrl+Droit devrait fonctionner aussi, ces clés sont à portée de main.
Je continue appuyez sur CTRL+S après chaque ligne pour enregistrer un document, alors ce serait un moindre nuisance pour moi..
Avoir à appuyer sur Ctrl+Maj+Entrée, puis revenir dans les supports de tous les temps n'est pas une solution dans mon esprit.
Voici une vraie solution:
Vous voulez généralement un point-virgule à la fin d'une instruction à droite quand vous cliquez sur "Shift+9' droit? Sans frapper certains autres combinaison de folie sur le clavier à chaque fois.
5 Accédez à Préférences > Apparence & Comportement > Clavier > les Macros et cliquez-droit sur 'auto-point-virgule', sélectionnez Ajouter un Raccourci clavier et appuyez sur la touche " Maj "(shift+9';
Vous pouvez faire beaucoup de variétés de cette, en fonction de vos besoins. Par exemple, en ajoutant des accolades entre '({})' ou, si vous utilisez '()' le plus souvent sans la nécessité d'un point-virgule à la fin, vous pouvez modifier le raccourci "Ctrl+Maj+9', et l'habituel combo ajoute juste la régulière. Votre préférence!!!
Créer une macro pour aller à la fin de la ligne et insérez le point-virgule. Ensuite affecter la macro à la semi-colon de frappe. Ainsi, à tout moment dans votre saisie vous pouvez résilier la ligne de code.