极狐GitLab VS Code 工作流插件
极狐GitLab Workflow extension for Visual Studio Code 将极狐GitLab 的功能直接集成到您的 IDE 中。它在 VS Code 侧边栏中添加了一个极狐GitLab Workflow 面板,您可以在其中查看议题、合并请求和流水线,并通过自定义查询扩展您的视图。
要开始,请安装和配置扩展。
配置完成后,此扩展将您每天使用的极狐GitLab 功能直接带入您的 VS Code 环境:
- 查看议题和合并请求。
- 从 Visual Studio Code 命令面板中运行常用命令。
- 创建和审查合并请求。
- 测试您的极狐GitLab CI/CD 配置。
- 查看流水线状态和作业输出。
- 创建和管理代码片段。
- 在不克隆它们的情况下浏览代码库。
- 查看安全发现。
- 执行 SAST 扫描。
极狐GitLab Workflow 扩展还通过 AI 辅助功能简化了您的 VS Code 工作流程:
- 极狐GitLab Duo Chat: 直接在 VS Code 中与 AI 助手互动。
- 极狐GitLab Duo Code Suggestions: 对当前代码行进行建议完成,或编写自然语言代码注释以获得更有意义的建议。
当您在 VS Code 中查看极狐GitLab 项目时,扩展会向您显示有关当前分支的信息:
- 分支的最近一次 CI/CD 流水线的状态。
- 此分支的合并请求链接。
- 如果合并请求包含议题关闭模式,则链接到议题。
切换极狐GitLab 账户在 VS Code 中
极狐GitLab Workflow 扩展为每个 VS Code 工作区(窗口)使用一个账户。当以下情况时,扩展会自动选择账户:
- 您只向扩展添加了一个极狐GitLab 账户。
- 您的 VS Code 窗口中的所有工作区都使用相同的极狐GitLab 账户,基于 git remote 配置。
在其他情况下,您必须为活动的 VS Code 窗口选择一个极狐GitLab 账户。
要更改账户选择:
- 打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 运行命令 极狐GitLab: Select Account for this Workspace。
- 从列表中选择您想要的账户。
您还可以通过选择极狐GitLab 账户状态栏项目来更改账户。
选择您的极狐GitLab 项目
当您的 Git 代码库可以与多个极狐GitLab 项目关联时,扩展无法确定使用哪个账户。当您有多个远程时,例如:
- origin: git@gitlab.com:gitlab-org/gitlab-vscode-extension.git
- personal-fork: git@gitlab.com:myusername/gitlab-vscode-extension.git
在这些情况下,扩展会添加一个**(多个项目)**标签,显示您必须选择一个账户。
要选择一个账户:
- 在垂直菜单栏上,选择 极狐GitLab Workflow () 以显示扩展侧边栏。
- 展开 议题和合并请求。
- 选择包含 (多个项目) 的行以展开账户列表。
- 选择您想要的项目:
议题和合并请求列表会更新您所选项目的信息。
更改您的选择
要更改您的项目选择:
- 在垂直菜单栏上,选择 极狐GitLab Workflow () 以显示扩展侧边栏。
- 展开 议题和合并请求 以显示项目列表。
- 右键单击项目的名称。
- 选择 清除所选项目。
使用斜杠命令
议题和合并请求支持极狐GitLab 斜杠命令,以便直接在 VS Code 中执行操作。
创建代码片段
创建一个代码片段来存储和分享代码和文本片段与其他用户。代码片段可以是选择的一部分或整个文件。
要在 VS Code 中创建代码片段:
- 选择代码片段的内容:
- 对于 文件中的代码片段,打开文件。
- 对于 选定内容中的代码片段,打开文件并选择要包含的行。
- 打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 在命令面板中,运行命令 极狐GitLab: Create Snippet。
- 选择代码片段的隐私级别:
- 私人代码片段仅对项目成员可见。
- 公共代码片段对所有人可见。
- 选择代码片段的范围:
- 文件中的代码片段 使用活动文件的全部内容。
- 选定内容中的代码片段 使用您在活动文件中选择的行。
极狐GitLab 会在新浏览器选项卡中打开新的代码片段页面。
创建补丁文件
当您审查合并请求时,创建一个代码片段补丁以建议多文件更改。
- 在本地机器上,检出您想要提议更改的分支。
- 在 VS Code 中,编辑您想要更改的所有文件。不要提交您的更改。
- 打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 在命令面板中输入 极狐GitLab: Create snippet patch,并选择它。此命令运行一个 git diff 命令,并在您的项目中创建一个极狐GitLab 代码片段。
- 输入补丁名称并按 Enter。极狐GitLab 使用此名称作为代码片段标题,并将其转换为一个附加 .patch 后缀的文件名。
- 选择代码片段的隐私级别:
- 私人代码片段仅对项目成员可见。
- 公共代码片段对所有人可见。
VS Code 在新浏览器选项卡中打开代码片段补丁。代码片段补丁的描述包含有关如何应用补丁的说明。
插入代码片段
要从您所在的项目中插入现有的单文件或多文件代码片段:
- 将光标放置在您要插入代码片段的位置。
- 打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 输入 极狐GitLab: Insert Snippet 并选择它。
- 选择包含您代码片段的项目。
- 选择要应用的代码片段。
- 对于多文件代码片段,选择要应用的文件。
查看议题和合并请求
要查看特定项目的议题和合并请求:
- 在菜单栏上,选择 极狐GitLab Workflow () 以显示扩展侧边栏。
- 在侧边栏上,展开 议题和合并请求。
- 选择您想要的项目以展开它。
- 选择以下结果类型之一:
- 分配给我的议题
- 由我创建的议题
- 分配给我的合并请求
- 我正在审查的合并请求
- 由我创建的合并请求
- 所有项目合并请求
- 您的自定义查询
选择一个议题或合并请求以在新的 VS Code 选项卡中打开它。
审查合并请求
使用此扩展来审查、评论和批准合并请求,而无需离开 VS Code:
-
在 VS Code 中查看议题和合并请求时,选择您想要审查的合并请求。其侧边栏条目将展开以显示更多信息。
-
在合并请求的编号和标题下,选择 描述以了解有关合并请求的更多信息。
-
要审查文件的拟议更改,请从列表中选择文件以在 VS Code 选项卡中显示它。极狐GitLab 在选项卡内联显示差异评论。在列表中,已删除的文件以红色标记:
使用差异来:
- 审查和创建讨论。
- 解决和取消解决这些讨论。
- 删除和编辑单个评论。
与默认分支比较
要与项目的默认分支比较您的分支,而无需创建合并请求:
- 打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 在命令面板中,搜索 极狐GitLab: Compare current branch with master 并按 Enter。
扩展会打开一个新的浏览器选项卡。它显示了您的分支的最近一次提交与项目默认分支的最近一次提交之间的差异。
在极狐GitLab UI 中打开当前文件
要从您的当前极狐GitLab 项目中在极狐GitLab UI 中打开文件,并突出显示特定的行:
- 在 VS Code 中打开您想要的文件。
- 选择您想要突出显示的行。
- 打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 在命令面板中,搜索 极狐GitLab: Open active file on GitLab 并按 Enter。
查看安全发现
- 级别:旗舰版
- 提供:JihuLab.com、极狐GitLab 私有化部署、极狐GitLab 专属
先决条件:
- 您正在使用版本 3.74.0 或更高版本的极狐GitLab Workflow。
- 您的项目包括安全风险管理功能,例如静态应用安全测试 (SAST)、动态应用安全测试 (DAST)、容器扫描或依赖项扫描。
- 您已配置安全风险管理功能。
要查看安全发现:
- 在垂直菜单栏上,选择 极狐GitLab Workflow () 以显示扩展侧边栏。
- 在侧边栏上,展开 安全扫描。
- 选择 新发现 或 修复的发现。
- 选择所需的严重级别。
- 选择一个发现以在 VS Code 选项卡中打开它。
执行 SAST 扫描
- 级别:旗舰版
- 提供:JihuLab.com
- 状态:实验
History
- 在 VS Code 扩展版本 5.31 中引入。
VS Code 中的静态应用安全测试 (SAST) 检测活动文件中的漏洞。通过早期检测,您可以在将更改合并到默认分支之前修复漏洞。
当您触发 SAST 扫描时,活动文件的内容会传递给极狐GitLab 并根据 SAST 漏洞规则进行检查。极狐GitLab 在主侧边栏中显示扫描结果。
先决条件:
- 您正在使用版本 5.31.0 或更高版本的极狐GitLab Workflow。
- 您已使用极狐GitLab 进行身份验证。
- 您已选中 启用实时 SAST 扫描复选框。
要在 VS Code 中执行文件的 SAST 扫描:
-
打开文件。
-
触发 SAST 扫描:
- 保存文件(如果您已选择了在文件保存时启用扫描选项)。
- 使用命令面板:
- 打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 搜索 极狐GitLab: Run Remote Scan (SAST) 并按 Enter。
- 打开命令面板:
-
查看 SAST 扫描的结果。
- 查看 主侧边栏。
- 选择极狐GitLab Workflow ({tanuki}) 以显示扩展侧边栏。
- 展开 极狐GitLab 远程扫描 (SAST) 部分。
SAST 扫描的结果按严重性降序列出。要查看发现的详细信息,请在扩展侧边栏的 极狐GitLab 远程扫描 (SAST) 部分中选择它。
搜索议题和合并请求
要直接从 VS Code 搜索项目的议题和合并请求,请使用过滤搜索或高级搜索。通过过滤搜索,您可以使用预定义的标记来优化搜索结果。高级搜索提供更快、更高效的整个极狐GitLab 实例搜索。
先决条件:
- 您是极狐GitLab 项目的成员。
- 您已安装 极狐GitLab Workflow 扩展。
- 您已按照使用极狐GitLab 进行身份验证中的描述登录到您的极狐GitLab 实例。
要搜索项目中的标题和描述字段:
- 在 VS Code 中,打开命令面板:
- 对于 macOS,按 Command+Shift+P。
- 对于 Windows 或 Linux,按 Ctrl+Shift+P。
- 选择所需的搜索类型:极狐GitLab: Search project merge requests 或 极狐GitLab: Search project issues。
- 输入您的文本,并根据需要使用过滤标记。
- 要确认您的搜索文本,请按 Enter。要取消,请按 Escape。
极狐GitLab 会在浏览器选项卡中打开结果。
使用标记过滤搜索
在大项目中进行搜索时,添加过滤器可以获得更好的结果。扩展支持这些标记来过滤合并请求和议题:
标记 | 示例 | 描述 |
---|---|---|
assignee | assignee: timzallmann | 受让人的用户名,不包括 @。 |
author | author: fatihacet | 作者的用户名,不包括 @。 |
label | label: frontend 或 label:frontend label: Discussion | 单个标签。可多次使用,并且可以在同一查询中与 labels 一起使用。 |
labels | labels: frontend, Discussion, performance | 以逗号分隔的多个标签列表。可以在同一查询中与 label 一起使用。 |
milestone | milestone: 18.1 | 里程碑标题,不包括 %。 |
scope | scope: created-by-me 或 scope: assigned-to-me 或 scope: all。 | 与给定范围匹配的议题和合并请求。值:created-by-me(默认)、assigned-to-me 或 all。 |
title | title: discussions refactor | 标题或描述中匹配这些词的议题和合并请求。不要在短语周围添加引号。 |
标记语法和指南:
- 每个标记名称后面需要一个冒号(:),例如 label:。
- 冒号前的空格 (label :) 无效,并返回解析错误。
- 标记名称后的空格是可选的。label: frontend 和 label:frontend 都是有效的。
- 您可以多次使用 label 和 labels 标记,并一起使用。这些查询返回相同的结果:
- labels: frontend discussion label: performance
- label: frontend label: discussion label: performance
- labels: frontend discussion performance(结果合并的查询)
您可以在单个搜索查询中组合多个标记。例如:
plaintexttitle: new merge request widget author: fatihacet assignee: jschatz1 labels: frontend, performance milestone: 17.5
此搜索查询查找:
- 标题:new merge request widget
- 作者:fatihacet
- 受让人:jschatz1
- 标签:frontend 和 performance
- 里程碑:17.5
自定义键盘快捷键
您可以为接受内联建议、接受内联建议的下一个单词或接受内联建议的下一行分配不同的键盘快捷键:
- 在 VS Code 中,运行 Preferences: Open Keyboard Shortcuts 命令。
- 找到您想要编辑的快捷键,并选择 更改键绑定 ()。
- 将您首选的快捷键分配给接受内联建议、接受内联建议的下一个单词或接受内联建议的下一行。
- 按 Enter 保存您的更改。