1. AI 技术与实现方式 

  • Tabnine

    • 使用多种 AI 模型来为代码提供补全,包括本地推理和云推理。Tabnine 可以在本地或通过云端为你提供代码建议,免费版主要是本地补全。
    • 高级版本(付费)使用深度学习模型,云推理更强大,能够更好地理解复杂的代码上下文。
    • 支持基于本地机器学习的补全,这对于不希望将代码上传到云端的开发者非常有用。
  • Codeium

    • Codeium 使用了类似 GPT(生成预训练变换器)的 AI 模型,专门优化用于代码生成和补全。它主要依赖于云推理。
    • Codeium 强调其模型在代码补全和生成任务上的智能性,提供上下文敏感的代码建议,能够生成整个函数或代码片段。
    • Codeium 的模型是基于开源技术,并且提供免费的云推理服务。

2. 免费与付费模式

  • Tabnine

    • 免费版 提供了基础的代码补全功能,主要是在本地环境中推理和处理,适合个人开发者或不需要高级功能的用户。
    • 付费版(Pro 版) 提供云推理和更智能的补全功能,支持团队协作、私有模型训练等高级功能。Pro 版更适合企业或团队使用,需要订阅付费。
    • 付费版还包括对高级 AI 模型的访问,能够更好地理解复杂代码模式和上下文。
  • Codeium

    • Codeium 完全免费,并且提供基于云端的 AI 代码补全,没有任何付费墙。这使得它在个人开发者和小团队中非常受欢迎。
    • Codeium 免费提供的功能与一些其他工具的付费功能相当,尤其是对复杂代码上下文的理解和补全。

3. 隐私与数据处理

  • Tabnine

    • Tabnine 提供了本地推理模式,意味着你可以在本地环境中运行 AI 补全功能,避免代码上传到云端。这对代码安全要求较高的项目非常重要。
    • 付费版允许用户设置私有模型和更高级的本地/云端混合使用方式。
  • Codeium

    • Codeium 主要依赖于云推理,这意味着代码将发送到云端进行处理。如果你对代码隐私有较高要求,可能需要考虑这一点。
    • 目前没有本地推理选项,所有代码补全和生成均通过云端模型进行。

4. 支持的编程语言和环境

  • Tabnine

    • 支持非常广泛的编程语言,如 Python、JavaScript、TypeScript、Java、Go、C++、Rust 等,几乎覆盖了主流开发语言。
    • Tabnine 与多种 IDE 和开发环境兼容,包括 VS Code、JetBrains 系列、Sublime Text、Atom、Emacs 等。
  • Codeium

    • 也支持多种编程语言,包括 Python、JavaScript、Go、Rust、TypeScript 等,重点优化了对现代语言的支持。
    • 同样支持多种开发环境,如 VS Code、JetBrains 系列等,不过它对 IDE 的支持较 Tabnine 略少。

5. 团队和协作功能

  • Tabnine

    • 提供高级的团队协作功能(付费版),允许团队共享 AI 补全模型,并支持对私有代码库的推理训练。它可以根据团队的开发习惯优化代码建议。
    • 支持为团队创建和使用私有的 AI 模型,这对大型团队和企业尤其有用。
  • Codeium

    • Codeium 目前没有专门针对团队协作的功能,主要是个人开发者和小型团队使用。不过它的免费模式对个人和小团队很友好。

6. 使用体验

  • Tabnine

    • 在日常使用中,Tabnine 的补全速度快,尤其是在本地推理模式下,响应速度几乎没有延迟。
    • 高级版本的 AI 补全能力更强,特别是在长代码片段或复杂代码结构中表现出色。
  • Codeium

    • Codeium 的代码生成和补全能力也非常强大,特别适合需要代码自动生成或处理上下文较复杂的场景。
    • 因为依赖于云端,可能在网络不佳时体验稍有影响,但其强大的补全功能对许多用户来说是值得的。

总结

  • Tabnine 更适合那些需要本地代码推理和对数据隐私要求较高的开发者,或者需要为团队提供高级协作功能的企业。
  • Codeium 则是一个非常吸引人的免费工具,适合个人开发者和不介意云端推理的小型团队,尤其是对于寻找免费替代 GitHub Copilot 的用户来说,它提供了强大的功能。

如果你注重隐私本地推理,并且愿意为更强大的 AI 补全功能付费,可以选择 Tabnine。如果你希望使用一款功能强大且完全免费的工具,那么 Codeium 是一个不错的选择。


1.Codeium

1.1 导言:
在当今互联网时代,程序员们追求的不仅仅是编写高效、稳定的代码,更希望能够更快地将创意转化为现实。Codeium,一款免费的智能编程助手,应运而生,为开发者提供了超过40种语言的代码完成工具,以其闪电般的速度和最先进的建议质量,成为众多程序员的首选。

主体内容:

  1. 功能丰富的Codeium:

    • Codeium不仅支持自动完成,更能够通过自然语言搜索存储库,为开发者提供全方位的代码建议。无论是从样板文件到单元测试,还是根据注释描述生成代码,Codeium都能胜任。
  2. 支持主流编程语言和IDE:

    • Codeium的强大之处在于其对几乎所有主流编程语言和IDE的支持。无论你是使用PyCharm、IDEA、Android Studio,还是喜欢在Vim编辑器中工作,Codeium都能轻松集成,释放你的创造力。
  3. 简便的安装过程:

    • 对于PyCharm用户,安装Codeium只需几个简单步骤。打开插件管理,搜索Codeium并点击安装。授权过程同样简便,一切都为了提供更好的使用体验。

    • 提醒:如果遇到浏览器无法打开链接的问题,可能需要更新浏览器并重新启动授权流程。

  4. 多种体验方式:

    • Codeium不仅提供了本地IDE的集成,还允许用户在浏览器上进行Playground体验。通过按Tab键接受建议或使用快捷键查看备选建议,你可以在“Playground”中尽情尝试Codeium的各种功能。
  5. 激发创意的备选建议:

    • Codeium不仅仅是一个代码自动完成工具,还在备选建议方面下足功夫。当Codeium的提示未完全满足你的需求时,你可以使用快捷键在备选建议之间切换,选择最适合你项目的代码片段。

结语:
尽管Codeium在与Cursor、GitHub Copilot的比较中或许稍显逊色,但它为开发者提供的大量建议无疑会提高我们日常编码的效率。它的不断完善和更新将成为程序员们探索创意、提高代码质量的得力助手。让我们期待Codeium未来的更多惊喜,为我们的编码之旅注入更多的智能和创造力。

 

1.2.安装方法

  1. 一直提示downloading language server:Codeium需要下载language server才能工作,但由于网络问题,下载速度可能会很慢。解决方案是手动下载和插件一样版本的language server。你可以在Codeium language server的Github仓库中找到要下载的server(如我的unbuntu 22.04下载名字language_server_linux_x64, 不是termium,后面有language_server),然后将其放入IDEA自定义插件目录的相应位置。
    当然,这是Codeium language server在IDEA自定义插件目录中的位置,(没下载完整会有一个后缀为downloading的文件,删除替换即可):
  • 对于Windows用户,路径可能类似于:C:\Users\用户文件\.vscode\extensions\codeium.codeium-1.7.38\dist\7f4XXX\language_server_windows_x64.exe
  • 对于Ubuntu用户,路径可能类似于:~/.vscode/extensions/codeium.codeium-1.6.39/dist/fd64d01802xxxx/language_server_linux_x64
  • 对于vscode容器code-server(openSUSE Tumbleweed),路径:~/.local/share/code-server/extensions/codeium.codeium-1.14.12-universal/dist/cee2c2c314ffa41cXXX/language_server_linux_x64
  1. 提示需要登录(log in),点击却没有反应:在他们的官网注册好账号以后,点击IDEA显示的链接,就可以查到Token。查到后复制过来点击OK即可。

  2. 提示中中文乱码 tab后却是好的:这是一个字体问题,可以在Settings -> Editor -> Font里把字体换为Microsoft YaHei UI来解决。

另外,从2023年8月开始,chat已经开始支持IDEA了。希望这些信息对你有所帮助!

 


1.3 🛠️ VS Code 密钥环问题总结(适用于 Kasm、Debian 等桌面容器)

❗问题现象一:Codeium / GitHub 登录时报错

You're running in a GNOME environment but the OS keyring is not available for encryption.
Ensure you have gnome-keyring or another libsecret compatible implementation installed and running.

✅ 解决方法:

  1. 安装密钥环支持(容器中执行):

    sudo apt update
    sudo apt install -y gnome-keyring libsecret-1-0 dbus
  2. 启动 D-Bus 和 GNOME 密钥环守护进程(每次运行前或写进启动脚本):

    eval "$(dbus-launch --sh-syntax)"
    gnome-keyring-daemon --start --components=secrets

❗问题现象二:提示创建“Default keyring”

Choose password for new keyring
An application wants to create a new keyring called "Default keyring". Choose the password you want to use for it.

✅ 解决方法:

  1. 输入你自己设定的密码(不为空):

    • 示例:123456
  2. 记住这个密码,VS Code 等插件后续可能需要用这个来解锁密钥环。


🔁 如果你每次都要输密码怎么办?

方法一:将 keyring 密码设为容器用户的登录密码(或自动登录用户)

方法二:使用 seahorse GUI 工具设置自动解锁(需图形界面)

sudo apt install -y seahorse

打开后可手动设定密钥环“自动解锁”。


🧰 附加技巧:Docker 启动自动配置 keyring

如果你想写入 Dockerfile / 启动脚本,可在容器启动后自动运行以下:

eval "$(dbus-launch --sh-syntax)"
gnome-keyring-daemon --start --components=secrets

也可以把它加进 .bashrc 或桌面启动项中。


 

 

2.Tabnine

  • 功能:Tabnine 使用 AI 提供代码补全,免费版本包含本地推理功能,支持多种编程语言(如 Python、JavaScript、Java、Go 等)。虽然高级功能(如云推理和更智能的上下文理解)需要订阅,但基础的 AI 补全在免费版本中已经足够实用。
  • 免费性:提供免费的本地代码补全功能,无需订阅。基础版不依赖外部云服务,适合在本地开发或离线使用。
  • 安装方式:通过 Code Server 插件市场安装 Tabnine 插件。
  • 支持语言:支持多种编程语言。

 

 Tabnine 中使用授权令牌(auth token)登录的说明。具体步骤如下:

步骤:

  1. 复制授权令牌

    • 你需要复制提供的这一长串令牌(auth token)。它是一个 JWT(JSON Web Token),用于授权你在 Tabnine 中的登录。
  2. 打开 IDE

    • 在你的开发环境(IDE)中打开 命令面板。如果你使用的是 VS Code,可以按下 Ctrl + Shift + P 来打开命令面板。
  3. 查找 Tabnine 登录命令

    • 在命令面板中,输入 Tabnine: Sign in using auth token,然后选择此命令。
  4. 粘贴令牌

    • 系统会提示你输入或粘贴之前复制的授权令牌。你只需将之前复制的令牌粘贴进去,按下回车即可完成登录。

作用:

  • 这是一种使用令牌登录 Tabnine 的方法,而不需要使用用户名和密码。这个令牌通常通过 Tabnine 官网或账户管理生成,用于快速认证。

完成这几个步骤后,你应该能够成功登录到 Tabnine,享受智能代码补全功能。