Есть ли способ перейти прямо на страницу статуса magit другого проекта git?

Мой общий рабочий процесс для перехода к другому проекту

  1. projectile-switch-projectкоторый открывает интерфейс управления для выбора проекта
  2. выбрать проект
  3. выберите файл в проекте, чтобы открыть файл
  4. затем бегиmagit-status

Есть ли способ объединить шаги 2-4?

3 ответа

  1. projectile-switch-projectкоторый открывает интерфейс управления для выбора проекта

Если вы хотите использоватьprojectileсhelm, вы могли бы датьhelm-projectileпопытка.

  1. helm-projectile-switch-project
  2. затем выберите свой проект с M-gили f3вместоRET

Если я правильно понимаю ваш вопрос, вы можете написать небольшую функцию, которая делает то, что вам нужно, и прикрепить ее кprojectile-after-switch-project-hook. По крайней мере, бегmagit-statusна этом крючке (если это проект git) должно быть довольно легко сделать.

РЕДАКТИРОВАТЬ: Пробовал. Это мешаетprojectile-switch-project-action. Хорошей новостью является то, что вы можете просто использовать это вместо этого.

Вот черновик:

      (defun my-projectile-switch-project-action ()
  (interactive)
  ;; test for some typical files in my projects
  (ignore-errors
    (let ((files '("README" "README.md" "build.gradle")))
      (while files
        (message "Looking for: %s" (first files))
        (if (file-exists-p (first files))
            (progn
              (find-file-other-window (first files))
              (setq files nil))
          (setq files (rest files))))))
  ;; now run magit
  (if (vc-git-responsible-p default-directory)
      (magit-status)))


;; Use the function like this:
(setq projectile-switch-project-action
      #'my-projectile-switch-project-action)

Настоящим я помещаю приведенный выше код под GPLv2 или более позднюю версию в дополнение к стандартной лицензии StackOverflow. Вы можете выбрать, под какой лицензией вы хотите получить этот код.

Если вы не используете многие функции снаряда, вы можете взглянуть на встроенныйproject, чейproject-switch-projectпозволит вам выбрать команду после выбора проекта, например:

Или вы можете добавить действия, чтобы открыть статус magit для управления проектом, например https://occasionallycogent.com/emacs_custom_helm_actions/index.html (что-то похожее начинается в руле, если я правильно помню)

Другие вопросы по тегам