译者 | 晶颜
审校 | 重楼
为了提高编码效率,市场上有多种开源工具可以使用,这些工具覆盖了从代码编辑、版本控制、自动化构建到容器化部署的多个方面。通过集成这些开源工具到你的开发流程中,可以显著提高编码效率和代码质量。
以下是一些推荐的开源工具,这些工具可以帮助开发者加快开发速度,提高代码质量,以及优化开发流程。
Visual Studio Code
Visual Studio Code是市场上最流行的IDE之一。VS Code是由微软开发的,源代码可以在GitHub上查看。这个IDE是免费的、轻量级的、灵活的和可扩展的。VS Code非常适合编码、调试和测试。
但是这个IDE如何提高你的工作效率呢?鉴于其庞大的扩展库、智能代码补全、版本控制集成、代码分析和诊断以及跨平台兼容性等特性,这个IDE如何帮助改进你的工作流程应该是一目了然了。无需使用多个工具,你就可以在这个应用程序中处理许多任务。VS Code还支持最流行的语言,如HTML/CSS、JavaScript、C/ C++、C#、Objective-C、Python、PHP和Java。
传送门:https://code.visualstudio.com/
Git
Git是一个版本控制系统,可以帮助开发人员管理代码库随时间的变化。使用Git可以极大地提高你的工作效率,因为你不仅可以跟踪代码的更改,还可以与团队实时协作,而无需担心一个开发人员会覆盖另一个开发人员所做的更改。
Git包括跟踪变更、版本管理、协作、提交、分支、合并等功能。
Git通过一个非常容易遵循和可重复的工作流帮助你提高工作效率,具体工作流程如下所示:
- 创建本地存储库:在工作目录中初始化一个Git存储库。你可以将此存储库提供给LAN上的团队成员,也可以将其迁移到GitHub。
- 修改和提交:修改代码后,可以使用git add和git commit来创建新版本的文件。
- 推送到远程存储库:通过将更改推送到共享位置(如GitHub),与团队成员共享更改(提交)。
- 从远程存储库中提取:然后可以从共享位置检索最新的代码更改,并将其合并到本地副本中,以便进行进一步的工作。
传送门:https://git-scm.com/
Docker/ Podman
容器是软件开发的一个重要方面。任何对容器感兴趣的人都应该尝试一下Docker或Podman,因为这两个工具是开发和部署容器最有效且最高效的方法。
但是为什么是容器呢?
容器使得跨环境的一致性开发成为可能,因此你不必担心针对多个平台进行开发。容器还具有更快的开发周期、简化的依赖管理、更快的构建时间、更容易的测试/调试、改进的可扩展性和更低的成本。而且由于容器是可移植的,你可以在你选择的操作系统上进行开发,并轻松地将容器迁移到另一个操作系统,并确保它能够正常工作。
传送门:Docker——https://www.docker.com/
Podman——https://podman.io/
Jenkins
Jenkins是一个自动化服务器,它使开发人员能够以可重复和可靠的方式构建、测试和部署应用程序。Jenkins包括自动构建、CI/CD支持、作业调度、监控和报告、代码审查、部署脚本等功能。
但是为什么自动化平台会帮助你提高编码效率呢?Jenkins可以为你实现的最重要的事情是自动执行重复的任务,这样你就可以专注于更重要的活动。Jenkins还有助于减少错误,改善协作,并让你更快地将新版本和功能推向市场。Jenkins包括对Docker和Kubernetes的支持,并为GitHub Actions、JIRA和Docker容器构建提供插件。
Jenkins是免费使用的,你可以在GitHub上查看源代码。
传送门:https://www.jenkins.io/
GPT-Engineer
GPT-Engineer是一种基于文本的工具,用于以更结构化和更有指导意义的方式与大型语言模型(LLM)进行交互。GPT-Engineer允许你以自然语言指定软件,使用AI编写和执行代码,和/或要求AI对你的代码提出改进建议。
我知道你在想什么……使用AI编写代码本质上是作弊,我不想争论这一点。但是,你可以使用这种工具来学习特定的语言或理解复杂的概念或代码行。你可以在本地文件夹中使用GPT-Engineer和代码,在文件夹中创建一个提示文件,并用所需的指令填充它,然后运行gpte DIRECTORY命令(其中DIRECTORY是包含代码的文件夹)。
GPT-Engineer可以免费使用,并可以使用Python或Poetry安装。
传送门:https://github.com/AntonOsika/gpt-engineer
Eclipse IDE
Eclipse是一款面向Java项目的免费开源IDE。Eclipse可用于Linux、macOS和Windows,包括广泛的插件生态系统,使用模块化架构,包括代码完成和检查,以及高级调试功能。
Eclipse非常灵活,因此你可以通过插件和自定义来定制IDE,以更好地满足你的需求。此外,它还有Java Builder、Code Completion、Git集成等插件。
但是IDE如何帮助你提高生产效率呢?借助庞大的插件库和令人印象深刻的特性集,它可以通过减少错误和提高代码的整体质量来简化你的工作流程,从而简化和缩短调试过程。
传送门:https://eclipseide.org/
Continu
Continu是GitHub Copilot的开源替代品,为VS code和JetBrains IDE提供AI驱动的代码完成和内联帮助。使用Continu,你可以连接任何你想要的LLM,然后将其与Chat一起使用,以简化向AI寻求帮助的过程,而无需离开你的IDE。
Continu的自动补全功能在你键入时,提供内联代码建议(类似于Gmail等的自动建议)。此外,它还有Edit(一种修改代码而不离开当前打开的文件的方法)和Actions(常用用例的快捷方式)等功能。
Continu有一个用户友好的UI,可以在你的IDE插件市场中免费安装。
传送门:https://www.continue.dev/
Tabby
Tabby是一款自托管的人工智能编码助手,可以作为GitHub Copilot的另一个替代方案。在使用Tabby的过程中,你可以在本地安装和使用它,所以不需要依赖第三方(这意味着更多的隐私),并支持消费级GPU。
你可以在一分钟内使用以下命令将Tabby部署为Docker容器:
docker run -it –gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve –model StarCoder-1B –device cuda –chat-model Qwen2-1.5B-Instruct
Tabby的功能包括代码完成、上下文理解、人工智能驱动的建议和代码分析,以减少开发时间、提高代码质量并提升工作效率。
传送门:https://github.com/TabbyML/tabby
Configu
Configu是一个开源的配置即代码(configuration-as-code)平台,用于自动化配置管理,防止错误配置,并通过在不同环境中配置和自动化软件应用程序的部署来消除繁琐的重复任务。
使用Configu,你的工程团队可以在任何环境中无缝地管理和协作诸如环境变量、秘密和功能标志之类的事情。这个工具可以很轻松地集成到现有的系统和工作流中,并且可以从小到大、从简单到复杂、从特别到重复的任务进行扩展。
Configu用于环境管理、配置自动化和基础设施编排。将Configu添加到你的工作流程中,你将享受到更快的速度和效率,改进的一致性和简化的配置管理。
Configu可以通过以下命令轻松安装:
curl https://files.configu.com/cli/install.sh | sh
传送门:https://configu.com/
Tauri 2.0
Tauri是一款开源工具,它使开发人员能够通过使用现代基于Web的技术(如React、Angular或Vue.js)创建桌面应用程序。Tauri提供了一个类似Electron的环境,其中包括窗口、菜单和文件对话框等特性。使用Tauri,你可以为Linux, macOS和Linux创建外观和感觉都很原生的应用程序。因为Tauri使用流行的基于Web的框架和库,所以它有助于减少构建桌面应用程序所需的时间。
使用Tauri,开发者将享受更快的开发时间,更轻松的应用维护,以及更好的跨平台兼容性,这要归功于预构建的UI组件、基于Web的配置文件以及原生应用性能优化等特性。
典型的Tauri工作流程如下所示:
- 使用React、Angular或Vue.js构建Web应用程序。
- 将Web应用程序转换为具有类似原生(Native-Like)行为的桌面应用程序。
- 在发布之前,先在不同的平台上测试和完善桌面应用。
传送门:https://tauri.app/
结语
上述应用程序中的任何一个都可以帮助提高你的编码效率。更幸运的是,总是有更多、更好的开源应用程序来帮助提高效率。
原文标题:10 Open Source Tools to Supercharge Your Coding Game,作者:Jack Wallen