8
votes

Points d'arrêt de style Vim-Ruby-Debugger avec Pry in Vim

En ce moment, lorsque je veux un point d'arrêt dans Vim ou texte sublime, je dépose une ligne comme ci-dessous dans le code: xxx

pry (et son plugins associés ) Fournir un bon environnement dans lequel faire du débogage de rubis interactif à partir de la ligne de commande.

Cependant, ajouter du code réel à mes projets pour créer chaque point d'arrêt (et vous souvenir de supprimer ce code lorsque je fais des commits) peut être encombrant) .

J'aime ce que vim-ruby-débogueur fait en termes de termes de supprimer un point d'arrêt visuel dans l'éditeur sans modifier le code source de mon projet, mais j'ai eu des problèmes pour que cela fonctionne pour fonctionner dans le contexte de mes spécifications (et je préférerais vraiment utiliser les «points d'arrêt» de Pry dans le premier Place).

La question est donc possible de supprimer une liaison .pry référence dans un fichier tel qu'un éditeur comme Vim (ou texte sublime, etc.) le ramassera et répondra de manière appropriée au moment de débogage sans la ligne ne sera effectivement inclus dans le code source?


2 commentaires

Vous devrez écrire un script pour parler entre Pry & Vim. Utilisation de Vim --Remote-Expr, vous pouvez obtenir la même chose.


Voulez-vous des points d'arrêt de style Pry-Debugger - avec la navigation et tous? (Je suppose que vous faites) ou voulez-vous vraiment juste laisser tomber une pry là-bas?


5 Réponses :


0
votes

http://www.vim.org/scripts/script.php? script_id = 4451 semble résoudre ce que vous voulez. Je n'ai pas essayé personnellement, mais je vais :).


1 commentaires

Je suis au courant de Ruby_Pry.vim, mais je n'ai pas vu de preuves que cela peut faire ce que je décris ci-dessus.



0
votes

Tout d'abord, pry est un outil incroyable et je suis heureux que vous l'ayez trouvé.

est-il possible de déposer une liaison .Pry référence dans un fichier ... sans la ligne réellement> incluse dans le code source?

Vous devez déposer une liaison .Pry directement dans le code source pour que cela puisse entrer dans la pry pour tester et jouer. FYI Si vous déposez une liaison.Pry dans votre fichier de spécifications, il ouvrira la pry dans le fichier de spécifications non à ce qu'elle fait référence.

Vous pouvez essayer de mieux_erros avec BLANDING_OF_CALLER et lorsque vous exécutez un serveur de rails défaillant, a) Cela vous donne une meilleure sensation d'erreur et vous donne une boîte de pry directe à l'erreur.


0 commentaires

0
votes

Je n'utilise pas de pry lors du débogage, je viens d'utiliser le débogueur ordinaire si je dois. Cependant, voici mon flux de travail Vim.

  1. J'ai la macro Vim enregistré "@D" qui insère le code suivant sous la ligne de la ligne exiger 'débogueur'; débogueur; 0 Cela rend très facile à insérer.

  2. Pour éviter d'engager des lignes de débogueur, j'ai configuré un crochet git (pré-commis) qui vérifie si le commit inclut ces lignes (GREP)

    http: // marque- Story.com/posts/view/Ung-git-Commit-hooks-a-PRevent-Stupid-Mistakes


0 commentaires

3
votes

Vous pouvez utiliser un git hameks pour éviter un mauvais commit, comme quitter un Binding.pry dans votre code.

Cet article explique comment le faire https://launchacademy.com/ blog / prévenir automatiquement-mauvais-git-commits

Ici, vous êtes un autre bon message à propos de http: //www.ryanmcg.com/2013/8/12/Another-forgotten-Binding-pry/

aussi j'accepte totalement que pry est un joyau exceptionnel.


0 commentaires

2
votes

Je ne suis pas au courant d'éditeurs ou de plug-ins de l'éditeur qui vous permettent d'utiliser Pry en définissant les points d'arrêt sans ajouter de Binding.Pry Invocation sur votre code source.

Je pense que le plus proche solution à votre demande serait d'utiliser un plugin comme Vim-Infer-Debugger , qui Fournit des fonctions pour insérer automatiquement des états de débogage basés sur le type de fichier actuel. Un avantage supplémentaire de ce plugin est qu'il existe également une commande pour supprimer les énoncés de débogueur, que vous pouvez mapper comme: xxx

combiné avec des hameçons Git, comme mentionné dans d'autres réponses, Cela devrait faciliter la possibilité de s'assurer que les appels de débogueur ne sont pas laissés dans votre code.


0 commentaires