標籤: 開發環境

  • 將 VSCode copilot 的 instructions 資料夾移動到外面

    將 VSCode copilot 的 instructions 資料夾移動到外面

    最近終於從孤獨的開發者轉到多人協作開發同一個 git repository 的工作環境中。於是開始想辦法把自己的舒適圈擴大到這個環境裡面。

    最近想將 VSCode copilot 的 instructions 資料夾移動到外面。主要有幾個目的:

    1. 方便管理,我可以將 instructions 資料夾作一個 git 管理,一次變更多處同步。
    2. 基於各種原因,我不想將 git 中 .github/instructions 推進 git 版控中。

    第二點原因有很多種,例如協作環境中,大家負責的項目不同,可能需要的規範/指南也不一樣。或是大家都 commit 自己的指南,容易衝突或是可能因為嘗試的狀態下,容易產生大量的變更,造成無關的 pr 的困擾(還需要整理有點累)。基於與一般協作管理 instructions 剛好相反的需求之下,也有一些既有限制:

    1. git repo 內的環境設定相關檔案儘量不要動到
    2. .github 已經在版控裡面了(不想把檔案更新上 git)

    如果你也剛好有一樣的狀況,那麼恭喜,接下來設定很適合你。

    如果你不知道 instructions 是什麼,可以先看這篇。簡單來說他是 AI 工具之一,他有提供使用 instructions 來作為提示詞的規範指南,可以參考這裡介紹。其中介紹中有說到的重點節錄如下:



    今天我們針對的就是第 1 點和第 2 點操作。

    先講注意事項:

    1. instructions 不是越多越好,請建立分類放好,不同工作區引用適合的 instructions 檔案。
    2. 善用 applyTo 和 description 屬性,如果你不知道是啥,請參考這裡
    3. instructions 需要定期維護,自己更板不知道幾次了,這也是需要統一管理的好理由。
    4. 指定路徑我是設定為絕對路徑,但這不利於同步使用者設定,所以如果你有多台電腦就要個別處理或想辦法整包同步的。
    5. 我測試過在 .vscode/settings.json 裡面設定,沒理我。可能是因為 .code-workspace 放在別的路徑的關係。

    好,操作開始:

    首先,有一個從個人設定檔著手的方式,這目的是把他寫在個人設定之中。

    請搜尋「chat.instructionsFilesLocations」設定,於「使用者」的 tab 中,把路徑複製打上去即可。

    如果你不想讓整個使用者都用同樣的指南,畢竟有時要跑不同語言、不同專案,光是 README 就會用到不同屬性或樣板的指引。可以把設定改到「工作區」的 tab 中,分不同工作區當作不同專案使用即可。

    除了這個設定之外,也有其他設定可以參考這裡

    另外有一個 .github/copilot-instructions.md 文件,他可以透過 vscode 自動解析專案生成(介紹),如果用 copilot 操作 AI Agent 時,強烈推薦可以先生成一個跑 agent 會稍微比較聰明一些。分類上我認為這個檔案會比較像是 for 專案用途,不太需要共用,建議可以建立工作區之後建立一個 .github 資料夾把他放進去。

    如果不想要和目前 git 版控牽扯的話,建議可以把 repo 放到一個資料夾中,再外面資料夾把 .github/copilot-instructions.md 建好(甚至 .vscode 設定也行),要注意的是會有覆蓋的問題,我理解的是原則上覆蓋都會是由最近的資料夾設定優先,可以想像是 js 中 closest 方法的操作邏輯。結構大概會長這樣,這是目前 git-auto-push 這個自動化工具的專案目錄:

    執行更新 README 指令會得到以下參考。參考的規範指南部分是我的另外一個 repo 內容

    紅色是把檔案路經遮起來,提醒一下檔案路徑儘量還是不要暴露出來比較保險。如果有看到也互相提醒一下比較好,資訊安全人人有責。

    最後提醒一下,如果使用 sepc-kitkrio 作 SDD 的朋友,可能外層蓋一個資料夾的方式就不太可行,意味著 spec-kit 產生的 sh 或 py 檔案等要避開 git 版控又不動到 .gitignore 設定的機會滿小的,我個人目前偏向自己作一個 SDD 的工作流或是改現成的 SDD 陣法,畢竟魔法就是探索的過程中才有趣(中二),之後有遇到再說。

  • 開發環境簡單推薦

    介紹一下比較終端應用程式的開發環境, iOS 和 Android 使用原生語言開發、網頁端走 PHP LEMP 結構,以下做環境的整理。

    要注意以下推薦的內容大多都是要付費的。

    iOS 不用說,使用的是 XCode 所以電腦使用 MacOS ,XCode 也就是從 Apple Strore 下載就有的。無論是 swift 或是 obj-c 語言都可以。

    ‎Xcode
    ‎Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, Apple TV, and Apple Watch. Xcode provides developers a unified workflow for user interface design, …

    Android 使用的語言是 Java ,軟體也是官方的 Android Studio,現在 Android Studio 很方便了直接下載下來就可以用。

    Web 開發的環境比較複雜一點,之前使用 MAMP PRO 版本,相當方便。

    雖然有人會想要用 Docker 來處理,可是自己的環境常常一次會多開很多的工作區域,考慮到自身的工作環境,所以就沒有更多研究,還是用了 MAMP PRO 很長一段時間,後來嘗試接觸 Parallels 這套軟體,這是一個虛擬機器(和 Docker 原理不同)軟體,但是他搭配 Parallels Tools 還滿不錯的,於是就用這個架設啦。

    Home
    Parallels Inc., a global leader in cross-platform solutions, makes it simple for customers to use and access the applications and files they need on any device or operating system. We help businesses …

    本機端及使用了虛擬機器,還是要想辦法快速架設, MAMP 雖然方便但是有個小缺點是他還是跑在原本的 MacOS (or Windows)上,後來選擇在本機上架設一套 CentOS LEMP 系統,把常用的部屬環境和模組設定好,UAT 或正式環境設定上用 GIT 版本控制程式碼,以及 autodeploy 就算是一個階段啦!其他諸如系統監控、安全防護等以後再為大家做一篇文章講解。

    這邊還是要提一下,可能以後會嘗試使用 Docker,這應該會是一個比較好的解決方案。

    而語言的使用上,golang 維持在 API 開發的程度(不打算學他 UI ),使用 VSCode 很方便。Python 也大同小異,偶而會用 flesk 弄一下簡單的 UI,PHP 的話則會使用 Sublime 來處理,他有很多套件很好用很方便,不過裝太多套件會變肥,記得要瘦身。

    其他操作的部分,簡易的圖像編輯以及切版目前是用 Photoshop 處理的,他有訂閱方案,時不時要 resize 一下圖片、修一下邊邊角角很方便。

    相片、圖片編輯、設計編輯與修圖軟體 | Adobe Photoshop
    使用 Adobe Photoshop 相片編輯與修圖軟體,建立和增強您的相片、影像和設計。這是全球最佳影像處理、圖片編輯、圖片去背和圖形設計軟體。

    而影片剪輯的話,目前和圖片的功力ㄧ樣,還只能做到套版和修修補補的程度,如果要上個字幕還是粗剪的話, MacOS 上唯一推薦 Final Cut Pro,這個要錢,但是比起和買其他的軟體,如果不是自己習慣的專業軟體,這個值得。

    Final Cut Pro X
    Final Cut Pro X 以 360° 影片剪輯功能、4K HDR 支援,及更先進的色彩校正工具,為後期製作帶來大革新。

    另外有還有一些小東西,選擇很多,隨找即有,但是不得不提:

    1. 雲端儲存裝置很重要,至於選擇就很多了,建議可以找有版本控制的,也可以多幾個作為分不同類型的儲存應用。還有,如果剛畢業記得找一下自己學校有沒有 Google Device 的免費無限儲存空間,這個好東西呀!
    2. VPN 也推薦準備一下,建議申請一個作為固定 IP 使用,也準備幾個是安全可跳轉到其他國家的,作為網站語系的檢查、安全操作或是查閱資料等滿方便的。這個如果是公司上班的打工仔,可能需要和公司談一下申請一組,如果是接客的半打工仔,稍微麻煩些要和客戶確認好避免維護不易,如果自己吃自己的話,那就推薦準備個幾組了。
    3. 我還滿喜歡做程式模板的,所以很多框架都會固定下來用很久,這有好有壞,得提醒自己追求穩定不一定全然是好事,所以在適當的保險下還是想辦法多一些框架可以選擇,至於模板的紀錄我還滿愛用 SinppetsLab 這套軟體,還有很多文字編輯軟體(像是 Sublime 的套件)也是支援多語言的程式碼片段存擋,都很推薦。也很推薦用 EvernoteOneNote 作為可用資訊的快速儲存工具,也很適合用來做私人筆記。
    4. Parallels Tools 裡面提供滿多意想不到的小工具,包含定時休息提醒、防止睡眠、記憶體釋放等等,都還滿好用的。
    5. Google Chrome 瀏覽器是開發人員好朋友,他有太多套件了,建議找如: 網頁翻譯、網站前端使用套件資訊、快速 HASH / 編解碼、IP 位置查詢、網頁整頁截圖、快速儲存分頁等等套件, 這些都很方便。另外 Chrome 裡面的群組功能十分方便,推薦使用。
    6. 而如果做 Server 端,VPS 的選擇也是需要的,我個人比較偏向 Vultr、 Linode、AWS、阿里雲、GCP 這些架設起來就是空的主機一台的雲端虛擬機器,也幾乎有便宜的方案可以選擇。

    網站部分,有些比較針對性的框架或應用程式,也許以後可以紀錄一下。
    先醬。