2012-02-07 2 views
6

мне было интересно, если есть способ связать:Emacs питон-режим: Сочетания клавиш для PDB шаг за шагом отладки

  • n RET (следующая)
  • p RET (предыдущая)
  • c RET (продолжение)
  • C-x SPC RET (set/clear breakpoint)

с функциональными клавишами F1 - F12 или другие сочетания клавиш. Идея состоит в том, чтобы эмулировать сочетания клавиш, которые другие IDE имеют для отладки (например, Visual Studio, MATLAB и т. Д.).

Поддерживается ли это уже python-mode? Есть ли какие-либо режимы Emacs, которые могут быть использованы для дополнения python-mode для отладки?

ответ

4

Вы всегда можете определить собственные привязки ключей в Emacs. Во-первых, тип С-Нм, чтобы увидеть справку о режиме в PDB буфере (которые начинаются с М-хPDB).

Следующая связать любую комбинацию клавиш:

 
(require 'gud)                                     
(define-key gud-mode-map '[f11] 'gud-step)                              
(define-key gud-mode-map '[f10] 'gud-next)                              
(define-key gud-mode-map '[f5] 'gud-cont)                              
(define-key gud-mode-map '[f12] 'gud-break)

прочитанной Emacs руководство о сборки в интерфейсе для Debuger (типа Chяг(EMACS) отладчикиRET) или онлайн :

http://www.gnu.org/software/emacs/manual/html_node/emacs/Debuggers.html

+0

Спасибо! Знаете ли вы, что я могу сделать именно это для «C-x SPC RET» (т. Е. Добавить/удалить точку останова)? Я не видел имя команды в документации GUD. –

+0

Вы должны войти в сеанс отладки gud, а затем, когда вы вводите ** Ch k ANY-KEY-SEQUENSE **, вы получаете помощь по команде и можете скопировать ее имя в Elisp script ... Для ** Cx SPC RET ** вы должны оставаться в файловом буфере Python ... – gavenkoa

+0

Я добавил эти две строки в свой ответ на мой файл '.emacs', сразу после загрузки python-mode (последняя версия , т.е. 6.0.4), но когда я запускаю Emacs, я получаю ошибку: «Значение символа как переменной пустое: gud-mode-map' –