Skip to main content
用全域旗標跨指令一致地控制 CLI 行為,特別是針對遙測與機器可讀輸出。 Extension.js 的遙測刻意設計為匿名且重視隱私。它最多送出兩種事件(command_executedcommand_failed)。每個事件會帶有 commandsuccessversioncreate 執行還會加上 templatesource。另外也會夾帶粗略的環境資訊(osarchnode_majoris_ciis_source_build)。

全域旗標能力

全域選項

--format--output 的已棄用別名。它仍然可用,但 CLI 每次執行會在 stderr 印出一則棄用警告。較舊的 --wait-format 別名亦同。 旗標用錯會以穩定的錯誤碼失敗:在 dev 之外使用 --no-reload、在 devstartpreview 之外使用 --no-browser,都會以 E_FLAG_NOT_SUPPORTED_HERE 失敗。已移除的 --no-runner 旗標會以 E_REMOVED_FLAG 失敗,請改用 --no-browser 你也可以在 extension.config.js 中用 commands.<command>.noBrowser: true 為個別指令設定 no-browser 模式。兩者同時存在時,CLI 旗標優先。

選用的布林旗標

[boolean] 標示的旗標(例如 --polyfill--zip--zip-source--silent--wait--install)可接受明確的值,因此你不需要另外的 --no-* 旗標就能啟用或停用它們:
  • 只寫旗標本身即為啟用:extension dev --polyfill
  • false0nooff 為停用:extension dev --polyfill false
  • true1yes 為啟用:extension build --zip true
這在你想從命令列覆寫 extension.config.* 中設定的預設值時,或在腳本中傳入計算後的值時(extension build --zip "$SHOULD_ZIP")很有用。

遙測退出選項

你可以用三種方式停用遙測(依優先順序列出):
當政策要求所有執行都不送遙測時,在持續整合(CI)中設定 EXTENSION_TELEMETRY_DISABLED=1

實用範例

為 CI 建置停用遙測

當政策要求自動化執行明確停用遙測時使用。

為工具產生機器可讀說明

適用於需要解析指令說明輸出的 AI 工具、包裝程式或腳本。

為本機除錯保留可讀說明

當你希望輸出對助理友善、又能在終端機中閱讀順暢時使用 pretty 模式。

行為注意事項

  • CLI 會在指令專屬選項之前解析全域旗標。
  • 遙測行為與隱私細節請見 Extension.js 儲存庫中的 docs/TELEMETRY.md遙測與隱私
  • extension telemetry status 檢查目前的同意狀態。
  • 各指令頁面會分別說明指令專屬的旗標。
  • 你可以把全域旗標和指令專屬選項合併使用。
  • 自動化工具(AI 助理與 CI 腳本)應從 dist/extension-js/<browser>/ready.json 讀取指令就緒狀態,而非解析終端記錄。請見 ready.json

下一步