10款開源工具助你提升編碼技能

譯自: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. 1. 使用 React、Angular 或 Vue.js 構建 Web 應用程式。
  2. 2. 將網路應用程式轉換為具有原生行為的桌面應用程式。
  3. 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/

相關文章