2013-05-24 10 views
7

Proprio ora, quando voglio un punto di interruzione in vim o Testo Sublime, lascio cadere una linea come la seguente nel codice:stile vim-ruby-debugger punti di interruzione con leva in Vim

binding.pry if Rails.env.test? 

Pry (e la sua associated plugins) forniscono un ambiente piacevole in cui eseguire il debug interattivo di Ruby dalla riga di comando.

Tuttavia, aggiungere codice reale ai miei progetti per creare ogni punto di interruzione (e ricordare di rimuovere tale codice quando eseguo commit) può essere complicato.

Mi piace che cosa fa vim-ruby-debugger in termini di rilascio di un punto di interruzione visivo nell'editor senza effettivamente modificare il codice sorgente del mio progetto, ma ho avuto qualche problema nel far funzionare questo nel contesto delle mie specifiche (e vorrei davvero preferisco semplicemente usare Pry 'breakpoints' in primo luogo).

Quindi la domanda è, è possibile cadere un riferimentobinding.pryin un file in modo tale che un editor come Vim (o Sublime Text, etc.) sarà raccoglierlo e rispondere in modo adeguato al debug-tempo senza la linea effettivamente incluso nel codice sorgente?

+0

dovresti scrivere una sceneggiatura per parlare tra pry e vim. Usando vim --remote-expr puoi ottenere lo stesso risultato. –

+0

vuoi punti di rottura stile di debugger - con la navigazione e tutto? (Immagino che tu lo faccia) o vuoi davvero buttare una leva lì dentro? – prater

risposta

0

Prima di tutto, PRY è uno strumento straordinario e sono felice che tu l'abbia trovato.

è possibile rilasciare un riferimento binding.pry in un file ... senza che la riga sia effettivamente> inclusa nel codice sorgente?

È necessario rilasciare un binding.pry direttamente nel codice sorgente per farlo andare in leva per testare e giocare. Cordiali saluti, se si rilascia un binding.pry nel file spec si aprirà pry nel file spec non a cosa si riferisce.

È possibile provare better_erros con binding_of_caller e quando si esegue un server di rails non funzionante, a) offre una migliore sensazione di errore e fornisce una finestra di verifica diretta dell'errore.

0

Non utilizzo la leva durante il debug, ma uso il debugger regolare se necessario. Tuttavia, ecco il mio flusso di lavoro vim.

  1. devo vim macro salvato "@d" che inserisce il seguente codice sotto qualsiasi linea sono in require 'debugger'; debugger; 0 Questo rende molto facile da inserire.

  2. per evitare di commettere linee debugger, Ho installato un gancio git (pre-commit) che controlla se il commit include queste righe (grep)

http://mark-story.com/posts/view/using-git-commit-hooks-to-prevent-stupid-mistakes

Problemi correlati