解锁IDEA中Git/SVN Issue Navigation功能:80%程序员都不懂的秘密武器~

在这里插入图片描述

文章目录

    • 前言
    • 什么是 Git Issue Navigation?
    • 配置 Git Issue Navigation
      • 1. 打开设置
      • 2. 导航到 Issue Navigation 设置
      • 3. 添加新的 Issue Navigation 规则
      • 具体示例配置
    • 使用 Git Issue Navigation
      • 在提交信息中使用 Issue ID
      • 实际导航到连接
    • 优点
      • 1. 快速定位问题
      • 2. 提高团队协作效率
      • 3. 减少上下文切换
    • 总结

前言

在我们日常开发中,版本控制和问题跟踪是两个至关重要的工具。Git 是最广泛使用的版本控制系统之一,而像 Jira、GitHub Issues 等问题跟踪系统则帮助开发团队管理和跟踪项目中的任务和问题。

IntelliJ IDEA 作为一款强大的集成开发环境(IDE),在这两个领域提供了丰富的支持,其中 Git Issue Navigation 功能尤其值得一提,但是说实话我觉得这个功能80%的开发是不懂的!在网上也基本没搜到相关的文章。 本文将介绍如何在 IntelliJ IDEA 中配置和使用这一功能,以提升开发效率。

什么是 Git Issue Navigation?

当然,SVN提交的也是可以使用此功能的,这里只是以Git为例子

Git Issue Navigation 是 IntelliJ IDEA 提供的一项功能,它允许开发者在提交信息、分支名称等文本中包含问题跟踪系统中的问题 ID,并通过点击这些 ID 直接导航到相应的问题详情页面。这不仅提高了开发效率,还改善了代码和问题管理的衔接。

配置 Git Issue Navigation

要在 IntelliJ IDEA 中使用 Git Issue Navigation 功能,需要进行一些简单的配置。以下是配置步骤:

1. 打开设置

首先,打开 IntelliJ IDEA 的设置。可以通过以下路径访问设置:

File -> Settings (Windows/Linux)
IntelliJ IDEA -> Preferences (macOS)

在这里插入图片描述

2. 导航到 Issue Navigation 设置

在设置窗口中,导航到:

Version Control -> Issue Navigation

3. 添加新的 Issue Navigation 规则

在 Issue Navigation 页面,点击右侧的 “+” 按钮添加新规则。需要配置以下内容:

  • Issue ID Pattern:正则表达式,用于匹配提交信息中的问题 ID。例如,对于 Jira 系统,Issue ID 通常格式为 PROJ-123,可以使用正则表达式 ([A-Z]+-\d+)
  • Issue Link:问题跟踪系统中问题详情页面的 URL 模板。例如,对于 Jira 系统,可以使用 https://your-jira-domain/browse/$1$1 会被匹配的 Issue ID 替换。

在这里插入图片描述

具体示例配置

上面说了那么多,现在来看看具体的例子是怎么配置的

假设我的项目使用 CSDN 进行问题跟踪,Issue ID 格式为 #CSDN_13994212 【提交信息描述】这种格式的,那么具体的配置如下:

  • Issue ID Pattern: #CSDN_(\d+)
  • Link Template: https://blog.csdn.net/belongtocode/article/details/$1

配置完成后,点击 “OK” 保存设置。

在这里插入图片描述

使用 Git Issue Navigation

配置完成后,当你在提交信息、分支名称等地方包含符合配置的 Issue ID 时,IntelliJ IDEA 会自动将其识别为链接。你可以通过以下方式使用这一功能:

在提交信息中使用 Issue ID

在提交代码时,在提交信息中包含 Issue ID。例如:

#CSDN_139364150 线程池相关文章提交

在这里插入图片描述

实际导航到连接

提交后,#CSDN_139364150会显示为一个可点击的链接,点击后会在默认浏览器中打开相应的 Jira 问题详情页面。

我们可以在 IDEA 中查看提交历史 (VCS -> Git -> Show History),你会发现提交信息中的问题 ID 成为一个可点击的链接。点击这个链接,IDEA 将自动在默认浏览器中打开相应的问题页面。

  • 比如我们现在配置的是CSDN链接,那么鼠标点击数字可以直接跳转到对应的CSDN文章链接
  • 实际工作中可能用JIRA或者禅道 就可以直接关联到你这个具体的任务号啦!

在这里插入图片描述

点击后就跳转到我的博客链接了深入剖析Java线程池的核心概念与源码解析:从Executors、Executor、execute逐一揭秘

在这里插入图片描述

优点

1. 快速定位问题

通过在提交信息中包含问题 ID,开发者可以迅速找到与提交相关的问题详情,这对代码审查和问题追踪非常有帮助。

2. 提高团队协作效率

在团队合作中,代码提交往往与任务管理工具(如 JIRA、GitHub Issues)紧密结合。Git Issue Navigation 功能使团队成员可以方便地从提交记录导航到任务详情,从而更好地协作。

3. 减少上下文切换

开发者不需要在不同工具之间来回切换,只需在 IDEA 中即可完成大部分的工作任务,减少了上下文切换的成本。

总结

IntelliJ IDEA 的 Git Issue Navigation 功能特别方便实用。只需要简单设置一下,我们就能在提交信息、分支名字等地方加上问题 ID,然后快速跳转到对应的问题详情页面。这功能可以大大提升我们的开发效率和团队合作效率。要是你的开发团队用 Git 和问题跟踪系统,这功能绝对值得一试~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/765540.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

消防认证-防火卷帘

一、消防认证 消防认证是指消防产品符合国家相关技术要求和标准,且通过了国家认证认可监督管理委员会审批,获得消防认证资质的认证机构颁发的证书,消防产品具有完好的防火功能,是住房和城乡建设领域验收的重要指标。 二、认证依据…

【UE 网络】专用服务器和多个客户端加入游戏会话的过程,以及GameMode、PlayerController、Pawn的创建流程

目录 0 引言1 多人游戏会话1.1 Why?为什么要有这个1.2 How?怎么使用? 2 加入游戏会话的流程总结 🙋‍♂️ 作者:海码007📜 专栏:UE虚幻引擎专栏💥 标题:【UE 网络】在网络…

西南交通大学【算法分析与设计实验1】

实验1.4 有向图拓扑排序 实验目的 (1)掌握算法的自然语言描述法,流程图绘制方法以及伪代码描述方法。 (2)理解算法的执行过程。 (3)掌握算法的编程实现方法、调试方法及测试方法。 实验任务…

AcWing 1256:扩展二叉树

【题目来源】https://www.acwing.com/problem/content/1258/【题目描述】 由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用 补齐,如图所示。 我们把这样处理后的二叉树称为原二叉树…

智谱AI: ChatGLM API的使用

一、获取API 1、打开网址:智谱AI开放平台 注册账号登录 2、登录,查看API key (注册后赠送100万token,实名认证后多赠送400万, 有效期一个) 二、安装及调用 安装质谱SDK pip install zhipuai调用方式 流式调用 from zhipuai import ZhipuA…

Vulkan学习——渲染3D模型

摘要:本文简要描述了Vulkan渲染一个3D模型需要做的事情,不会对太细节的内容进行深究。   关键字:Vulkan,Render,3D 源码 1 简介 1.1 Vulkan简介 Vulkan是一个低开销、跨平台的二维、三维图形与计算的应用程序接口(API&#x…

鸿蒙开发Ability Kit(程序访问控制):【使用粘贴控件】

使用粘贴控件 粘贴控件是一种特殊的系统安全控件,它允许应用在用户的授权下无提示地读取剪贴板数据。 在应用集成粘贴控件后,用户点击该控件,应用读取剪贴板数据时不会弹窗提示。可以用于任何应用需要读取剪贴板的场景,避免弹窗…

基于MATLAB对线阵天线进行泰勒加权

相控阵天线——基于MATLAB对线阵进行泰勒加权 目录 前言 一、泰勒综合 二、单元间距的改变对泰勒阵列方向图的影响 三、单元数的改变对泰勒阵列激励分布的影响 四、副瓣电平SLL对泰勒阵列激励幅度的影响 五、副瓣电平SLL对泰勒阵列方向图的影响 六、泰勒阵列和切比雪夫阵…

Qt Creator13配置Android开发环境

QT Creator13是目前(2024年)最新版本,配置Android开发环境有一些不一样,走了一些弯路,记录如下。 1、安装JDK和SDK 下载安装JDK和SDK,建议安装在无空格和中文字符的目录下。 具体安装步骤不再赘述&#…

Python基础003

Python流程控制基础 1.条件语句 内置函数input a input("请输入一段内容:") print(a) print(type(a))代码执行的时候遇到input函数,就会等键盘输入结果,已回车为结束标志,也就时说输入回车后代码才会执行 2.顺序执行…

看完这篇文章你就知道什么是未来软件开发的方向了!即生成式AI在软件开发领域的革新=CodeFlying

从最早的UGC(用户生成内容)到PGC(专业生成内容)再到AIGC(人工智能生成内容)体现了web1.0→web2.0→web3.0的发展历程。 毫无疑问UGC已经成为了当前拥有群体数量最大的内容生产方式。 同时随着人工智能技术…

leetcode每日一练:链表OJ题

链表经典算法OJ题 1.1 移除链表元素 题目要求: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出&a…

Kotlin扩展函数(also apply run let)和with函数

also apply run let with的使用例子 private fun testOperator() {/*** also*/val person Person("ZhangSan", 18)person.also {// 通常仅仅打印使用, 也可以通过it修改it.name "ZhangSan1"println("also inner name: " it.name)}println(&qu…

如何理解MySql的MVCC机制

MVCC是什么 MySQL的MVCC机制,全称为多版本并发控制(Multi-VersionConcurrency Control),是一种提高数据库并发性能的技术。MVCC的主要目的是在保证数据一致性的同时,提高数据库的并发性能。 它通过为每个读操作创建数…

lower()方法——大写字母转换为小写字母

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 lower()方法用于将字符串中的大写字母转换为小写字母。如果字符串中没有需要被转换的字符,则将原字符串返回;否则将…

Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件

章节内容 上一节完成: HDFS的简介内容HDFS基础原理HDFS读文件流程HDFS写文件流程 背景介绍 这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。 之前已经在 VM 虚拟机上搭建过一次,但是没留下…

RK3568平台(USB篇)USB HID设备

一.USB HID设备简介 USB HID设备主要用于和计算机进行交互通信,典型的USB HID类设备包括USB键盘、USB鼠标、USB游戏手柄等等,这些都是日常生活中常见的设备。以USB接口的鼠标为例,打开计算机的“设备管理器”,可以在“鼠标和其他…

Milvus【部署 01】向量数据库Milvus在Linux环境下的在线+离线安装

向量数据库Milvus在Linux环境下的在线离线安装 1.千问简介2.在线安装2.离线安装 1.千问简介 Milvus 是一款专为处理高维向量数据设计的开源云原生数据库,旨在满足海量向量数据的实时召回需求。它由 Zilliz 公司开发并维护,基于Apache许可证2.0版本发布。…

Microsoft SQL Server 2019安装和设置用户密码

1、免费下载两个安装包 SQL2019-SSEI-Dev 地址:https://www.microsoft.com/en-us/sql-server/sql-server-downloads SSMS-Setup-CHS 地址:https://aka.ms/ssmsfullsetup 安装具体不在阐述了,可以参考我这篇文章:SQL Server 2019安装详细教程 2、以W…

llm-universe | 五. 系统评估与优化

系统评估与优化 一.LLM应用评估思路1.人工评估准则一 量化评估准则二 多维评估 2.自动评估方法一. 构造客观题方法二. 计算答案相似度 3.使用大模型评估4.混合评估 二.评估并优化生成部分1. 提升直观回答质量2.标明知识来源,提高可信度3. 构造思维链4.增加一个指令解…