譯者 | 晶顏
審校 | 重樓
為了提高編碼效率,市場上有多種開源工具可以使用,這些工具覆蓋了從代碼編輯、版本控制、自動化構建到容器化部署的多個方面。通過集成這些開源工具到你的開發流程中,可以顯著提高編碼效率和代碼質量。
以下是一些推薦的開源工具,這些工具可以幫助開發者加快開發速度,提高代碼質量,以及優化開發流程。
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