標籤: 外掛

  • Sublime Text3 檢查 Codeigniter4 專案的外掛

    Sublime Text3 檢查 Codeigniter4 專案的外掛

    使用 Sublime Text 檢查 CodeIgniter 4 專案的命名規範與 use 語句。

    在 CodeIgniter 4 開發中,為了提升專案的可維護性,遵守檔案命名規範與 use 語句的正確性是非常重要的。然而,手動檢查這些細節可能耗時且容易出錯。為了解決這個問題,我開發了一款 Sublime Text 外掛,專門用於自動檢查 CodeIgniter 4 專案的命名規範和 use 語句。

    在這篇文章中,我將介紹這個外掛的功能、使用方式、注意事項,以及如何對其進行客製化修改。


    外掛功能(截至 2024-12-13)

    這個外掛的主要功能是檢查 PHP 檔案是否符合 CodeIgniter 4 的命名規範和 use 語句的使用規則:

    1. 檔案命名規範檢查
      • 確保所有 PHP 檔案名稱遵循 PascalCase 並以 .php 結尾。
      • 舉例:MyClass.php 是正確的命名,my_class.php 則會觸發警告。
    2. use 語句檢查
      • 檢查是否所有使用到的類別名稱都已經通過 use 正確引入。
      • 找出未被使用的類別,協助開發者清理多餘的 use 語句。
    3. CodeIgniter 4 專案結構檢查
      • 自動檢測專案是否為 CodeIgniter 4,要求至少包含以下目錄:
        • 必須有:app/writable/
        • 至少存在:public/vendor/

    如何安裝與使用

    1. 下載外掛
    2. 安裝外掛
      • 將外掛放入 Sublime Text 的 Packages 目錄中: Sublime Text > Preferences > Browse Packages 將外掛資料夾解壓縮到上述目錄內。
    3. 保存 PHP 檔案以觸發檢查
      • 在 Sublime Text 中打開 CodeIgniter 4 專案的 PHP 檔案,進行編輯後保存。
      • 外掛會自動檢查檔案並在 Sublime Text 狀態列中顯示結果。
      • 如果發現錯誤,會彈出對話框提醒,顯示具體問題。

    使用注意事項(截至 2024-12-13)

    1. 適用專案
      • 此外掛僅適用於 CodeIgniter 4 專案,需保證專案根目錄存在 .env 檔案,並符合 CodeIgniter 4 的基本目錄結構。
    2. 支援的檔案類型
      • 僅檢查 .php 檔案,其他檔案類型將被忽略。
    3. 檢查邏輯
      • 外掛會移除 PHP 中的註解與引號內容來確保檢查不受干擾,但可能會忽略某些極端情況。例如,代碼中以字串拼接的動態類別名稱。

    如何進行修改

    如果你需要針對專案需求進一步客製化這個外掛,可以參考以下指引:

    1. 修改專案結構檢查邏輯

    • is_codeigniter4_project 方法中,你可以自訂需要檢查的目錄結構: def is_codeigniter4_project(self, directory): required_paths = ["app", "writable"] optional_paths = ["public", "vendor"] for path in required_paths: if not os.path.isdir(os.path.join(directory, path)): return False if not any(os.path.isdir(os.path.join(directory, path)) for path in optional_paths): return False return True

    2. 新增自訂檢查規則

    • 如果需要檢查額外的命名規範或程式碼規範,可以在 check_file_namingcheck_use_statements 方法中新增對應邏輯。

    3. 排除特定情境

    • 若某些專案使用特定的非標準命名方式,可以修改正則表達式來放寬檢查。例如: if not re.match(r"^[A-Z][a-zA-Z0-9_]*\.php$", base_name):

    4. 偵錯模式

    • 在開發或調試外掛時,可以透過 print 將日誌輸出到 Sublime Text 的 Console(`Ctrl+“)。

    結語

    這個 Sublime Text 外掛旨在提升 CodeIgniter 4 專案的開發效率,減少手動檢查的時間成本。如果你有其他需求或遇到問題,歡迎前往 GitHub 儲存庫 提交 Issue 或 Pull Request。

    希望這款工具能夠成為你在 CodeIgniter 4 開發中的得力助手!

    笑死,現在部落格用 AI 幫忙生成,講的比自己清楚。附上連結:

  • Claude 的 Sublime Text4 外掛

    Claude 的 Sublime Text4 外掛

    昨天作了一份 ChatGPT 的外掛(請參考這裡),這次補 claude.ai 的外掛,克勞德這個名字聽起來就有種惡靈古堡個感覺(那是克勞薩),也是軟體設計很愛用的 AI 工具之一,希望補上 Sublime Text 裡面可以有一些貢獻與幫助。

    操作方式與上篇 ChatGPT 外掛操作相當,差異在 api 不是同加公司,還有快捷鍵需要分開設定。先附上 API 文件(貼心的是他有中文) 與外掛 repository 位置,這裡

    安裝前需要準備:

    1. Sublime Text 最新版
    2. anthropic 帳號,已有信用卡儲值(我們需要用 claude API


    安裝的方式有別於使用 Package Control 安裝,這使用手動安裝,主要是把 git 中的 “chatgpt” 資料夾放到 Sublime Text 的 Packages 資料夾中就行了。 Packages 資料的夾的位置請參考這裡,可以從 Sublime Text 的 “Preferences -> Browse Packages” 開啟。

    另外我們需要設定 anthropic 的 API Key,請參考官方網站這裡 取得,在 Sublime Text 的的外掛設定: “Preferences -> package-settings -> 👽 ChatGPT -> Settings – User” 之中添加 koken 參數(也可以複製修改 Default 的設定格式)

    使用上有設定 keymap,因為我是 mac用戶,所以操作上,選定一串文字以後快速鍵 cmd+g ,稍等幾秒 ChatGPT 將會回覆資料,將回應貼到選定文字的後面。
    修改快速鍵的話,也是從 “Preferences -> package-settings -> 👽 ChatGPT-> Key Bindings – User” 修改即可。

    手動執行的話也能在 Topbar 的 Tools 中找到 “☁️ Claude” 選項,點一下就執行。記得要選取你要的對話文字喔!

    最後來秀一下資料夾內容

    主要的 claude.py 和之前寫 chatgpt.py 功能差不多,都可以當作簡單的 request/response 機制。

    值得一提的是 claude 的 api 應該是使用了 cloudflare 來處理,我從 curl 上呼叫沒問題,但 Sublime Text 會一直收到 1010 的 403 error code ,這在幾個月前第一次嘗試的時候就有遇到,那時傻傻的一直問 AI 然後他一直旋轉我,現在突然會 Google 了XD 後來無奈只能加上 user-agent 的 header ,這太荒謬但有用。

    而且滿值得吐嘈的是:不管 ChatGPT 或是 Claude 直接詢問 API 呼叫的程式碼時,得到的 API endpoint 根本就是幻想生成的,還好 AI 公司算有良心,API 文件不是用 AI 生成的,這次沒注意到為了 www.anthropic.com 和 api.anthropic.com 卡了半小時有點嘔就是。

  • ChatGPT 的 Sublime Text4 外掛

    ChatGPT 的 Sublime Text4 外掛

    Sublime Text 是我一直很愛用的編輯器,他輕巧和可客製化真的很方便,無論是開啟速度和需要才使用的外掛,我再處理 PHP 、Python 、Nodejs 甚至是 Vue3 的專案時都滿常用他來開啟的,我在 Sublime Text 上使用的 AI 工具是 Tabnine 這套外掛的免費版本,主要是不連網路使用。而有時也會想要方便有外掛可以連網,但是好像找不到相關可用的外掛安裝,於是自己研究做了一個,有空在研究看怎麼上傳到官方的套件管理上吧。

    先上 repository 位置,這裡

    安裝前需要準備:

    1. Sublime Text 最新版
    2. OpenAI 帳號,已有信用卡儲值(我們需要用 OpenAI API)

    安裝的方式有別於使用 Package Control 安裝,這使用手動安裝,主要是把 git 中的 “chatgpt” 資料夾放到 Sublime Text 的 Packages 資料夾中就行了。 Packages 資料的夾的位置請參考這裡,可以從 Sublime Text 的 “Preferences -> Browse Packages” 開啟。

    另外我們需要設定 OpenAI 的 API Key,請參考官方網站這裡 取得,在 Sublime Text 的的外掛設定: “Preferences -> package-settings -> 👽 ChatGPT -> Settings – User” 之中添加 koken 參數(也可以複製修改 Default 的設定格式)

    使用上有設定 keymap,因為我是 mac用戶,所以操作上,選定一串文字以後快速鍵 cmd+g ,稍等幾秒 ChatGPT 將會回覆資料,將回應貼到選定文字的後面。
    修改快速鍵的話,也是從 “Preferences -> package-settings -> 👽 ChatGPT-> Key Bindings – User” 修改即可。

    手動執行的話也能在 Topbar 的 Tools 中找到 “👽 ChatGPT” 選項,點一下就執行。記得要選取你要的對話文字喔!

    最後來秀一下資料夾內容

    其中 data 參數可以依照自己的需要修改,如果你是習慣用 Sublime Text 來寫文章的朋友,可以把 system 的 content 改成你要的提示,或是模型按照需求和官方支援修改也行。官方文件參考,這裡

    以上,謝謝大家。