首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有办法直接跳转到另一个git项目的magit状态页面吗?

有办法直接跳转到另一个git项目的magit状态页面吗?
EN

Stack Overflow用户
提问于 2022-10-26 15:11:31
回答 2查看 36关注 0票数 0

我去另一个项目的一般工作流程是

  1. projectile-switch-project,它弹出用于选择项目的舵机界面。
  2. 选择一个项目
  3. 在项目中选择一个文件来打开该文件。
  4. 然后运行magit-status

有没有一种将步骤2-4结合起来的方法?

EN

回答 2

Stack Overflow用户

发布于 2022-10-28 02:05:34

如果您不使用许多抛射特性,可以查看内置project,它的project-switch-project将允许您在选择项目之后选择一个命令,如下所示:

或者,您可以添加一些操作来打开项目的magit状态,比如行动/index.html (如果我没有记错的话,类似的登船在掌舵)

票数 0
EN

Stack Overflow用户

发布于 2022-10-28 11:02:39

如果我正确理解了您的问题,您可能会编写一个小函数来完成您所需的工作,并将其附加到projectile-after-switch-project-hook。至少在这个钩子上运行magit-status (如果它是一个git项目),应该很容易做到。

编辑:试过了。它会干扰projectile-switch-project-action。好消息是你可以用它来代替。

这是一份草稿:

代码语言:javascript
复制
(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)

除StackOverflow的标准许可证外,我在此将上述代码置于GPLv2或更高版本之下。您可以选择在哪个许可下接收此代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74210102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档