1

Я пытаюсь найти команду emacs, которая автоматически комментирует код, подобный следующему:

Перед командой

if(condition){
        do ...
}

После команды

if(condition){
        do ...
} //Matches if(condition){

Я знаю, что когда блок кода между круглыми скобками слишком большой, чтобы поместиться на текущей странице, при вставке закрывающей скобки мне будет показана часть «Соответствует, если (условие)». Однако я хочу выбрать блок кода, а затем выполнить эту команду в emacs, чтобы он оставил мне этот комментарий. Пожалуйста, дайте мне знать, если что-то неясно, и я буду рад уточнить. Я также извиняюсь, если этот вопрос задавался ранее, однако я посмотрел и не смог его найти. Если это так, пожалуйста, укажите мне на этот вопрос.

Заранее спасибо.

3 ответа3

0

Вы можете использовать Cs (forward-search) для поиска блока if, выбрать регион и M-; (comment-dwim), чтобы прокомментировать регион.

В случае сомнений используйте Mx по поводу <RET> <your-search-term-here> <RET>.

0

Добавьте это в конец файла ~/.emacs и перезапустите Emacs. Измените привязку клавиш на любую последовательность клавиш по вашему выбору:

(defun my-add-end-block-comment ()
  "Documentation goes here ..."
  (interactive)
  (let (start text)
    (save-excursion
      (backward-sexp 3)
      (setq start (point))
      (end-of-line)
      (setq text (buffer-substring start (point))))
    (insert (concat "  // " text))))

(global-set-key (kbd "C-z /") 'my-add-end-block-comment)

Затем поместите курсор после закрывающей скобки (}) и нажмите Cz /. Это также должно работать на while и for циклов.

0

Вы можете использовать некоторый инструмент сниппета, например YASnippet, у которого в конце будет другое поле для комментария. Это не будет таким же поведением, как вы хотите, но в конце концов оно будет более или менее таким же.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .