.md | 用 VS Code 的 Profiles 隔离 Codex 和 GitHub Copilot 账号

.md | 用 VS Code 的 Profiles 隔离 Codex 和 GitHub Copilot 账号

💡 原文中文,约2900字,阅读约需7分钟。
📝

内容提要

在 VS Code 中通过 Profiles 隔离 Codex 与 GitHub Copilot 账号:新建 Profile 并更换主题以便区分;为 Codex 设置独立 CODEX_HOME 和文件认证;Linux 下创建两个启动脚本,分别指定不同 CODEX_HOME、user-data-dir 和 profile;Windows 下在 PowerShell 配置文件中定义两个函数实现同样效果;首次运行需登录对应账号,Copilot 通过账户偏好设置切换。

🔎

延伸解读

为什么需要隔离 Codex 与 Copilot 账号

文章指出,日常工作和博客内容不同,若混用同一套 coding agent 的对话与上下文,容易造成身份混淆。通过 VS Code Profiles 隔离 Codex 插件和 GitHub Copilot 的账号,可以确保不同用途的对话历史、认证信息互不干扰。作者建议为每个 Profile 设置不同色彩主题,以便在切换时快速识别当前身份,避免误操作。

Linux 下的隔离实现要点

在 Linux 中,作者通过创建独立的 CODEX_HOME 目录(如 ~/.codex-identity1)并设置 cli_auth_credentials_store = "file",让认证信息以 auth.json 文件形式保存,避免 keyring 干扰。随后在 ~/bin/ 下建立两个启动脚本,分别指定不同的 CODEX_HOME、--user-data-dir 和 --profile 参数。首次运行需登录对应 Codex 账号,之后即可用带后缀的命令替代 code . 来启动。

Windows 下的 PowerShell 函数方案

Windows 方案与 Linux 类似,但通过 PowerShell 函数实现。作者在 $PROFILE 中定义 codex-identity1 和 codex-identity2 两个函数,分别设置 $env:CODEX_HOME 并调用 code 命令,同时传入 --profile 和 --user-data-dir 参数。保存后运行 . $PROFILE 使函数生效,之后即可用函数名启动对应身份的 VS Code。首次打开时需登录 Codex 账户,之后可自动登录。

Copilot 账号切换与安全提醒

对于 GitHub Copilot,作者通过点击 VS Code 右下角头像,选择“Manage Extension Account Preferences…”,然后为当前 Profile 选择希望使用的 Copilot 账号。此外,文章特别提醒 auth.json 是敏感凭据,不应提交到 Git。整个方案依赖 VS Code 的 Profiles 功能,确保不同身份在独立环境中运行,减少上下文和认证信息的交叉。

❓

Q&A

为什么需要在 VS Code 中隔离 Codex 和 GitHub Copilot 的账号?

因为日常工作和博客内容不完全相同,不想把 coding agent 里的对话和上下文混在一起,所以需要做身份隔离。

如何在 VS Code 中新建一个用于隔离的 Profile?

点击右边栏最下面的按钮,在弹出的菜单里选择 Profile → Profiles,新建一个新的 profile,各种配置可以直接复制,但建议换个色彩主题以便区分。

在 Linux 上如何为 Codex 设置独立的 CODEX_HOME 和文件认证?

执行 mkdir -p ~/.codex-identity1 和 mkdir -p ~/.codex-identity2 创建目录,然后分别写入 echo 'cli_auth_credentials_store = "file"' > ~/.codex-identity1/config.toml 和 ~/.codex-identity2/config.toml,这样认证信息会保存为 $CODEX_HOME/auth.json。

Linux 下如何创建两个启动脚本分别使用不同的 Codex 身份?

在 ~/bin/ 中建立 code-identity1 和 code-identity2 两个文本文件,内容分别为:#!/bin/bash export CODEX_HOME="$HOME/.codex-identity1" exec code --user-data-dir "$HOME/.vscode-identity1" --profile Default "$@" 和类似但使用 identity2 的脚本,然后给两个文件加上可执行权限。

Windows 下如何通过 PowerShell 函数实现 Codex 账号隔离?

在 PowerShell 配置文件中定义两个函数 codex-identity1 和 codex-identity2,分别设置 $env:CODEX_HOME 为对应目录,并调用 code 命令时指定不同的 --profile 和 --user-data-dir 参数。

如何为 GitHub Copilot 切换账号?

点击 VS Code 右下角的头像,在弹出的菜单中选择 “Manage Extension Account Preferences…”,然后窗口上方会出现可以选择账户的拓展,选择 “GitHub Copilot”,再选择当前 Profile 希望使用的账号。

🏷️

标签

➡️

继续阅读