十款開源工具助你提升編碼技能
譯自:10 Open Source Tools to Supercharge Your Coding Game[1]
作者:Jack Wallen
從 VS Code 到 Tauri,這些開源開發工具簡化了工作流程,自動化了重復性任務,并提高了各個技能水平開發人員的編碼效率。
如果你想提高生產力,有很多應用程序可供選擇。對于那些更喜歡使用開源軟件的人來說,選擇范圍并沒有減少多少。事實上,有很多開源工具都致力于提高編碼效率。
當然,任何這樣的列表都會包含你可能使用也可能不使用的工具。你的工作流程可能已經基本設定好了,并且知道你只需要一個額外的工具就能將你的生產力提升到一個新的水平。這個工作流程可能包括諸如編輯器、IDE[2]、代碼審查和分析、協作和文檔、CI/CD[3]、監控、調試[4]、自動化以及介于兩者之間的一切。
這里的關鍵是提高你的生產力,并且仍然有很多工具可以為你服務。
讓我們深入了解一下,看看你可以添加到工作流程中的哪些開源工具。
Visual Studio Code
Visual Studio Code[5] 是市場上最流行的 IDE 之一。VS Code 由微軟開發,其源代碼可以在 GitHub[6] 上查看。這個 IDE 免費、輕量級、靈活且可擴展。VS Code 非常適合編碼、調試和測試。
但是這個 IDE 如何提高你的生產力呢?考慮一下它的特性,例如龐大的擴展庫、智能代碼補全、版本控制集成、代碼分析和診斷以及跨平臺兼容性,你就會明白這個 IDE 如何幫助改進你的工作流程。無需使用多個工具,你就可以在一個應用程序中處理許多任務。VS Code 還支持最流行的語言,例如 HTML/CSS、JavaScript、C/C++、C#、Objective-C、Python、PHP 和 Java。
Git
Git[7] 是一個版本控制系統,它幫助開發者管理代碼庫隨時間的變化。使用 Git 可以極大地提高你的生產力,因為你不僅可以跟蹤代碼的更改,還可以與團隊實時協作項目,而無需擔心一個開發者會覆蓋另一個開發者所做的更改。
Git 包括跟蹤更改、版本管理、協作、提交、分支、合并等功能。
Git 通過一個非常易于遵循和可重復的工作流程來幫助你提高生產力,這個工作流程如下所示:
- ? 創建本地倉庫:在你的工作目錄中初始化一個 Git 倉庫。你可以將這個倉庫提供給局域網上的團隊成員,也可以將其遷移到 GitHub。
- ? 進行更改并提交:在更改代碼后,你可以使用 git add 和 git commit 來創建文件的新的版本。
- ? 推送到遠程倉庫:通過將更改(提交)推送到共享位置(例如 GitHub)來與團隊成員共享你的更改。
- ? 從遠程倉庫拉取:然后,你可以從共享位置檢索最新的代碼更改,并將它們合并到你的本地副本中以進行進一步的工作。
Docker/Podman
容器是軟件開發的一個重要方面。任何對容器感興趣的人都應該查看 Docker[8] 或 Podman[9],因為這兩個工具是開發和部署容器最有效率的方法。
但是為什么是容器呢?
容器使得跨環境一致地開發成為可能,因此你無需擔心為多個平臺開發。容器還具有更快的開發周期、簡化的依賴項管理、更快的構建時間、更輕松的測試/調試、改進的可擴展性和降低的成本。并且由于容器是可移植的,你可以在你選擇的 OS 上進行開發,并輕松地將容器遷移到另一個 OS,并確保它能夠正常工作。
Jenkins
Jenkins[10] 是一個自動化服務器,它使開發人員能夠以可重復且可靠的方式構建、測試和部署應用程序。Jenkins 包括自動化構建、CI/CD 支持、作業調度、監控和報告、代碼審查、部署腳本等等。
但是為什么自動化平臺可以幫助提高你的編碼效率呢?Jenkins 為你做的最重要的事情是自動化重復性任務,這樣你就可以專注于更重要的活動。Jenkins 還幫助減少錯誤,改進協作,并加快新版本和功能的上市時間。Jenkins 支持 Docker 和 Kubernetes,并具有 GitHub Actions、JIRA 和 Docker 容器構建等插件。
Jenkins 免費使用,你可以在 GitHub[11] 上查看其源代碼。
GPT-Engineer
GPT-工程師[12] 是一款基于文本的工具,用于以更結構化和引導的方式與大型語言模型 (LLM) 交互。GPT-工程師允許你使用自然語言指定軟件,使用 AI 編寫和執行代碼,以及/或者要求 AI 建議改進你的代碼。
我知道你在想什么……使用 AI 編寫代碼基本上是作弊,我不會爭論這一點。但是,你可以使用此類工具來學習特定語言或理解復雜的代碼概念或代碼行。你可以將 GPT-工程師與本地文件夾中的代碼一起使用,在文件夾內創建一個提示文件并填寫所需的指令,然后運行 gpte DIRECTORY 命令(其中 DIRECTORY 是包含代碼的文件夾)。
GPT-工程師可免費使用,并可以使用 Python 或 Poetry 安裝。
Eclipse IDE
Eclipse[13] 是一款免費的開源 IDE,面向 Java 項目。Eclipse 可用于 Linux、macOS 和 Windows,包含廣泛的插件生態系統,使用模塊化架構,包括代碼完成和檢查以及高級調試功能。
Eclipse 非常靈活,你可以使用插件和自定義設置來完美滿足你的需求。有適用于 Java Builder、代碼完成、Git 集成的插件等等。
但是 IDE 如何幫助你提高生產力呢?借助大量的插件庫和令人印象深刻的功能集,可以通過減少錯誤和提高代碼的整體質量來簡化你的工作流程(從而簡化和縮短調試過程)。
Continu
Continu[14] 是 GitHub Copilot 的開源替代方案,并為 VS Code 和 JetBrains IDE 提供 AI 驅動的代碼完成和內聯幫助。使用 Continu,你可以連接任何你想要的 LLM,然后將其與 Chat 一起使用,從而簡化向 AI 尋求幫助的過程,而無需離開你的 IDE。
Continu 的自動完成功能在你鍵入時提供內聯代碼建議(類似于 Gmail 等中的自動建議)。還有編輯(一種無需離開當前打開的文件即可修改代碼的方法)和操作(常用用例的快捷方式)。
Continu 具有用戶友好的 UI,可以從你的 IDE 插件市場免費安裝。
Tabby
Tabby[15] 是一款自托管的 AI 編碼助手,可以作為 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 的功能包括代碼完成、上下文理解、AI 驅動的建議和代碼分析,以減少開發時間,提高代碼質量并提高生產力。
Configu
Configu[16] 是一個開源的配置即代碼平臺,用于自動化配置管理、防止錯誤配置以及通過配置和自動化不同環境中軟件應用程序的部署來消除繁瑣的重復性任務。
使用 Configu,你的工程團隊可以無縫地管理和協作處理任何環境中的環境變量、密鑰和功能標志。此工具可以輕松集成到現有系統和工作流程中,并且可以從小到大、從簡單到復雜以及從臨時到重復的任務進行擴展。
Configu 用于環境管理、配置自動化和基礎設施編排。將 Configu 添加到你的工作流程中,你將享受到更高的速度和效率、改進的一致性和簡化的配置管理。
Configu 可以使用以下命令輕松安裝:
curl https://files.configu.com/cli/install.sh | sh
Tauri 2.0
Tauri[17] 是一款開源工具,使開發人員可以使用現代基于 Web 的技術(例如 React、Angular 或 Vue.js)創建桌面應用程序。Tauri 提供類似 Electron 的環境,其中包括窗口、菜單和文件對話框等功能。使用 Tauri,你可以為 Linux、macOS 和 Linux 創建外觀和感覺都很自然的應用程序。因為 Tauri 使用流行的基于 Web 的框架和庫,所以它有助于減少構建桌面應用程序所需的時間。
使用 Tauri,你的開發人員將享受到更快的開發時間、更輕松的應用程序維護和改進的跨平臺兼容性,這要歸功于預構建的 UI 組件、基于 Web 的配置文件和本機應用程序性能優化。
典型的 Tauri 工作流程如下所示:
1. 使用 React、Angular 或 Vue.js 構建 Web 應用程序。
2. 將網絡應用程序轉換為具有原生行為的桌面應用程序。
3. 在不同平臺上測試和改進桌面應用程序,然后再發布。
任何一個應用程序都能幫助提高您的編碼效率。更好的是……總有更多開源應用程序可以幫助提高效率。
引用鏈接
[1] 10 Open Source Tools to Supercharge Your Coding Game:https://thenewstack.io/10-open-source-tools-to-supercharge-your-coding-game/
[2]IDE:https://thenewstack.io/best-open-source-ides/
[3]CI/CD:https://thenewstack.io/ci-cd/
[4]調試:https://thenewstack.io/how-generative-ai-is-revolutionizing-debugging/
[5]Visual Studio Code:https://code.visualstudio.com/
[6]GitHub:https://github.com/microsoft/vscode
[7]Git:https://git-scm.com/
[8]Docker:https://www.docker.com/
[9]Podman:https://podman.io/
[10]Jenkins:https://www.jenkins.io/
[11]GitHub:https://github.com/jenkinsci/jenkins
[12]GPT-工程師:https://github.com/AntonOsika/gpt-engineer
[13]Eclipse:https://eclipseide.org/
[14]Continu:https://www.continue.dev/
[15]Tabby:https://github.com/TabbyML/tabby
[16]Configu:https://configu.com/
[17]Tauri:https://tauri.app/