2025年10月13日 星期一

安裝GitHub Copilot CLI

 1.在[命令提示字元]執行以下指令以安裝Node.js
winget install OpenJS.NodeJS.LTS

2.在[命令提示字元]執行以下指令以安裝Git
winget install --id Git.Git -e --source winget

3.在[命令提示字元]執行GitHub Copilot CLI
npm install -g @github/copilot@latest

4.(選用)在[命令提示字元]執行
setx COPILOT_ALLOW_ALL true
(會直接信任GitHub Copilot CLI,允許任何工具執行並不提出確認要求,有安全性問題,所以需評估便利與安全性的取捨。)

5.在[命令提示字元]執行
copilot
(會要求登入)


2025年10月8日 星期三

在git worktree add後使用TortoiseGit查看log的錯誤(Windows)

 










原因

在Repo1使用git worktree add建立的資料夾Repo2,
其擁有者是繼承上位資料夾Workspace,
但上位資料夾擁有者和目前使用者並不是同一個人。

示意如下:
Workspace(擁有者:Administrators)
└Repo1(擁有者:User1)
└Repo2(擁有者:Administrators)


解法

執行以下指令將Repo2擁有者改為目前使用者即可。

takeown /f  Workspace\Repo1\.git\worktrees\Repo2 /r /d y
takeown /f  Workspace\Repo2 /r /d y

2025年9月30日 星期二

2025年9月20日 星期六

OpenAI Codex CLI另一種編寫提示詞的方式

其實在終端機編寫提示詞並不太方便,

大量文字新增修改貼上及移動鼠標位置等操作還是在文字編輯器最方便,

因為Codex有支援自訂提示詞功能,

我們可以在$CODEX_HOME/prompts/

(Windows是%USERPROFILE%/.codex/prompts

Linux/WSL 2是~/.codex/prompts/)

新增自訂提示詞檔案,副檔名必須是.md,如my-prompt.md

甚至可以直接用IDE編輯該提示詞檔案,

編輯時Visual Studio 2202可以使用右鍵選單[Copy Full  Path]複製檔案路徑;

Visual Studio Code則能用[Copy Path]或[Copy Relative Path]複製檔案路徑。

重啟Codex(codex resume session_id)並在Codex CLI輸入/<自訂提示詞檔名>,如/my-prompt

就能將檔案內容作為提示詞送給Codex。


參考來源:Custom Prompts


2025年9月12日 星期五

安裝OpenAI Codex CLI

1.在[命令提示字元]執行以下指令以安裝Node.js
winget install OpenJS.NodeJS.LTS

2.在[命令提示字元]執行以下指令以安裝Git
winget install --id Git.Git -e --source winget

3.在[命令提示字元]執行Codex CLI
npm install -g @openai/codex@latest

4.(選用)在[命令提示字元]執行
mkdir "%USERPROFILE%\.codex" 2>nul & (echo approval_policy = "never" & echo sandbox_mode = "danger-full-access" & echo web_search_request = true) > "%USERPROFILE%\.codex\config.toml"

(會直接信任codex,允許不提出任何提升權限要求,有安全性問題,所以需評估便利與安全性的取捨。)

5.在[命令提示字元]執行
codex
(會要求登入)


2025年9月5日 星期五

Visual Studio 2022 清除專案同時清空bin/obj資料夾

 在專案.csproj檔新增

<Project>

...

  <!-- #region 清理 bin 和 obj 資料夾 -->

  <Target Name="CleanBinObjFolders" AfterTargets="Clean">

<!-- Remove obj folder -->

    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />

    <!-- Remove bin folder -->

    <RemoveDir Directories="$(BaseOutputPath)" />

  </Target>

  <!-- #endregion -->

</Project>


參考來源:How to fully clean bin and obj folders within Visual Studio?

Dev Drive vs RamDisk

純個人體感,RamDisk勝!


Windows form專案,在Dev Drive編譯,未開啟Microsoft Defender,
時不時會繞圈圈甚至卡死必須重啟Visual Studio;

用RamDisk(AIM Toolkit,新版ImDisk Toolkit),編譯過程絲滑,
單元測試也是亳無卡頓。


目前使用方法:

1.原始碼備份儲存在D:\Workspace。

2.開機時會複製至AIM Toolkit建立的R:\。

3.關機時會同步回D:\Workspace。












4.為避免當機等意外造成進度消失,在開發過程須上傳到版控主機。
5.亦可用同步軟體或腳本(如Robocopy)進行複製和偵測到檔案變更時回寫D:\Workspace。


網友AIM Toolkit使用心得:AIM Toolkit(ImDisk Toolkitの後継)がリリースされたので使ってみた