适用于 IntelliJ IDEA 和 Android Studio 的 Azure DevOps 插件
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
IntelliJ IDEA 是由 JetBrains 出品的 IDE。 有关详细信息,请访问 https://www.jetbrains.com/idea/。 借助适用于 IntelliJ 的 Azure DevOps 插件,可以无缝且直观的方式连接到 Azure DevOps Services 和 Team Foundation Server (TFS) 上的 Git 存储库。 还可以使用此插件将项目导入 Azure Repos 或在 Azure DevOps Services/TFS Git 存储库中创建拉取请求。
本指南介绍如何使用 Azure DevOps Services Web 门户创建 Git 存储库,添加一些示例代码,然后克隆存储库并创建拉取请求,所有这些操作都在 IntelliJ IDEA 中进行。
先决条件
若要完成本指南中的步骤,你需要:
- Azure DevOps 中的组织。 如果你没有组织,可免费注册一个。 每个组织都包含免费、无限制的专用 Git 存储库。
- 在计算机上安装 IntelliJ IDEA。 如果没有,请获取 IntelliJ IDEA。
- 适用于 IntelliJ 的 Azure DevOps 插件。 有关安装说明,请参阅 IntelliJ 插件下载页。 此插件与 IntelliJ IDEA 旗舰版和社区版、Android Studio、RubyMine、WebStorm、PhpStorm、PyCharm、AppCode、MPS、0xDBE 和 CLion 兼容。
- Git 命令行工具。
- 若要安装适用于 Windows 的 Git(包括 Git 凭据管理器),请参阅安装 Git 凭据管理器。
- 若要安装适用于 macOS 和 Linux 的 Git,请参阅 git-scm.com。
创建存储库
浏览到
https://dev.azure.com/{your organization}
并选择项目名称,以导航到 Azure DevOps 中的项目。 可以从“所有项目”列表中选择它,或者如果最近访问过它,可以从“最近”项目列表中进行选择。注意
使用 Azure DevOps Services 时,项目 URL 的格式为
dev.azure.com/{your organization}/{your project}
。 但是,仍然支持以前引用visualstudio.com
格式的格式。 有关详细信息,请参阅 Azure DevOps 简介 - 将现有组织切换为使用新的域名 URL。在 Web 门户的“项目”区域中,选择“代码”,选择当前存储库名称旁边的下拉列表,然后选择“新建存储库”。
在“创建新存储库”对话框中,验证存储库类型是否为 Git,输入“DeepSpace”作为新存储库名称,然后单击“创建”。
将示例代码添加到存储库
选择“代码”窗口右上角的“克隆”,然后复制“克隆 URL”。
打开 Git 命令窗口(适用于 Windows 的 Git 上的 Git Bash),导航到计算机上要将存储库中的代码存储在其中的文件夹,然后运行
git clone
,后跟从上一步中的“克隆 URL”复制的路径,如以下示例所示。git clone https://dev.azure.com/contoso-ltd/MyFirstProject/_git/DeepSpace
通过运行以下命令切换到 DeepSpace 文件夹。
cd DeepSpace
使此窗口保持打开状态,因为后续步骤中会使用它。
下载 DeepSpace 示例代码并将其提取到克隆 DeepSpace 存储库的计算机上的本地目录。
切换回 Git 命令窗口并运行以下命令,这会将示例代码文件提交到本地存储库。
git add --all
你可能会看到一些警告,指出换行符将替换为回车换行符(即警告:LF 将替换为 CRLF)。 可以忽略这些警告。
通过运行以下命令将文件提交到本地存储库。
git commit -m "Committing DeepSpace sample files"
运行以下命令,将 DeepSpace 示例文件的提交推送到 Azure Repos DeepSpace 存储库。
git push
切换回 Azure DevOps Services Web 门户并刷新,可以看到添加的文件。
在 IntelliJ 中克隆存储库
现在,我们已经有了包含一些示例代码的 Git 存储库,让我们看看如何使用 IntelliJ IDEA 中的代码。 在 IntelliJ 中克隆 VSTS 存储库非常简单。 甚至不需要知道存储库的 URL。
打开 IntelliJ IDEA,选择“从版本控制签出”,然后选择“VSTS Git”。
接下来,只需登录到 Azure DevOps Services...
单击“登录”后,将显示标准 Azure DevOps Services 登录 UI。 登录后,应会看到你在 Azure DevOps Services 上有权访问的所有存储库的列表。 选择正确的存储库“DeepSpace”,然后单击“克隆”按钮。 (你可能还想通过更改父目录来选择将存储库克隆到硬盘上的位置。)
克隆完成后,IntelliJ 会询问你是否要打开该项目。 单击“是”,最终应会在 IntelliJ IDEA 中打开 DeepSpace 项目。
在 IntelliJ 中进行一些更改
首先确保使用“生成”>“生成项目”来生成项目。 如果系统提示你为项目添加 SDK,只需添加计算机上安装的最新 Java JDK。
如果想立即运行项目以查看其用途,可以执行以下操作:
- 在 Git 存储库中的 DeepSpace 根文件夹中,运行命令
mvn jetty:run
(需要安装 maven) - 从浏览器转到 http://localhost:3030/
你应会看到星星和行星飞过! 如果仔细观察,可能会注意到地球并没有飞过。
- 在 Git 存储库中的 DeepSpace 根文件夹中,运行命令
在我们的 DeepSpace 示例中,有一些代码部分已被注释掉。如果在 IntelliJ 中打开
src/main/java/com.microsoft.tfs.demo/ImageService.java
文件,可以看到其中一个部分。让我们在本地修复这部分代码。 通常,在 Git 存储库中工作时,应为工作创建一个分支并提交到该分支。 使用内置的“VCS”>“Git”>“分支”窗口通过 IntelliJ 创建一个分支。 出现提示时,请使用分支名称 fixBugs。 有分支用于进行更改后,就可以取消注释代码并重新生成项目。 如果按照上面的说明再次运行该程序,应会看到地球飞过。
生成并测试更改后,可以使用“VCS”>“提交更改”菜单在本地提交更改。 在提交对话框中,你将在提交消息文本框上方看到一个 VSTS 按钮。 单击该按钮可查看分配给你的工作项列表。 选择“添加缺失的地球”工作项,然后单击“确定”。 你将看到提交消息文本框填充了工作项类型、编号和标题。 这会将工作项与此提交相关联,以便将来进行跟踪。
请注意,此更改仅在本地完成;Azure DevOps Services 存储库中尚未更改。
创建拉取请求
可以将本地分支推送到服务器,并创建拉取请求供团队评审。 我们的插件可帮助你根据 IntelliJ 中的当前上下文创建拉取请求。 这可节省多个步骤,无需切换到浏览器即可创建拉取请求。
要执行此操作,只需选择“VCS”>“Git”>“创建拉取请求”。 这将打开“创建拉取请求”对话框。 此对话框提供大量信息,包括已更改的文件和将推送的提交。 可以为拉取请求提供标题和说明。
单击“创建拉取请求”后,应会收到拉取请求已创建的通知。 其中还包含指向拉取请求的链接,可用于添加特定审阅者或注释。 代码评审完成后,可以将拉取请求合并到主分支中。
检查生成状态
将更改合并到主分支后,可以在 IntelliJ 中检查 CI 生成是否成功。 右下角有一个图标,用于显示生成状态。 如果看到绿色的复选标记,则表示生成成功。 如果看到红色的 X,则表示生成失败。 如果看到灰色的问号,则表示未找到生成,或凭据可能已过期。
可以单击该图标以获取更多选项,例如查看生成详细信息、将新生成排入队列,以及手动更新状态。
查看拉取请求和工作项
在“版本控制”菜单下,存在“拉取请求”选项卡和“工作项”选项卡,使你无需离开 IDE 即可轻松查看所需信息。 “拉取请求”选项卡显示由你创建并分配给你的当前拉取请求及其状态。 该选项卡还可用于创建和/或放弃拉取请求。
在“工作项”选项卡下,可以根据你创建的查询查看工作项,或使用默认查询查看分配给你的工作项。 还可以基于工作项创建分支,以便可以将工作项与分支相关联,供将来进行跟踪。