Microsoft MakeCode 是基於開源專案 Microsoft 程式設計體驗工具包 (PXT)。 Microsoft MakeCode
是使用者導向的編輯器中的名稱, PXT
用於所有 GitHub 原始碼。
PXT 是一個為初學者創建專用程式設計體驗的框架,特別專注於電腦科學教育。 PXT 的底層程式語言是 TypeScript 的子集(不包含 JavaScript 動態功能)。
PXT的主要特點是:
更多資訊:
使用 MakeCode 建置的編輯器範例:
master
是活躍的開發分支,目前建置為v3.*
v*
是v*.*
的服務分支請按照此處的說明進行操作。
如果您正在修改自己的 PXT 實例並希望目標(例如 pxt-microbit)使用您的本機版本,請 cd 到目標目錄(在我們的範例中為 pxt-microbit,它應該是 pxt 的同級目錄) )並執行
pxt link ../pxt
如果您有多次簽出 pxt,您可以執行以下操作:
npm i
pxt link ..some-other-pxt
(您可能需要先透過執行npm install -g pxt
來更新 CLI)如果您隨後執行npm i
(在目標或 pxt 中),您可能需要重複這些步驟。
首先,安裝 Node:最低版本 8。
要建置 PXT 命令列工具:
npm install
npm run build
然後安裝pxt
命令列工具(只需執行一次):
npm install -g pxt
然後安裝gulp
(只需執行一次):
npm install -g gulp
之後,您可以從建置樹中的任何位置執行pxt
。
若要啟動本機 Web 伺服器,請從應用程式目標的根目錄(例如 pxt-microbit)執行pxt serve
。 PXT 將在您的預設 Web 瀏覽器中開啟編輯器。
如果您正在針對 pxt 進行開發,則可以從 pxt 儲存庫的根目錄中執行gulp watch
來監視變更和重建。
gulp watch
如果您專門使用 CLI,
gulp watchCli
如果您不需要建立相關的網路應用程式套件(技能圖、多人遊戲等),您可以跳過它們並稍微加快建置速度:
gulp --no-webapps
svgicons/
目錄中有許多自訂圖示(除了 http://semantic-ui.com/elements/icon.html 之外還可以使用)。這些需要是1000x1000px
。最好從現有的開始。要查看可用圖標,請訪問 http://localhost:3232/icons.html(此文件以及包含生成的 WOFF 圖標字體的icons.css
是在構建期間創建的)。
如果您在顯示已建立的圖示時遇到問題,請嘗試:
npm install -g svgo
svgo svgicons/myicon.svg
新增將在編輯器目標(例如 micro:bit、Arcade)和子應用程式(又稱為“CRA”,如技能圖、教師工具等)之間共用的 CSS 顏色或其他樣式元素時。在theme/themepacks.less
中為其宣告一個 CSS 變數:
:root
偽類中。根據文件中的指南選擇合理的預設值。theme-highcontrast
。選擇適合給定主題的值。theme/themepacks.less
檔案(例如 pxt-microbit、pxt-arcade)中完成。以這種方式聲明的變數將在運行時可供 CRA 使用,並且它們將使用它們運行的目標定義的覆蓋值進行初始化。
在文件中,程式碼片段的反白顯示使用highlight.js (hljs)。目前,包括以下語言:
如果您需要新增其他語言或更新現有語言,您可以在 https://highlightjs.org/download/ 找到發行版;選擇您想要包含的所有語言(包括上面的語言!),下載並解壓縮,最後將highlight.pack.js
複製到webapp/public/highlight.js/
中。
測試位於tests/
子目錄中,是節點測試和瀏覽器測試的組合。要執行它們,請在根目錄中執行npm run test:all
。
麻省理工學院許可證
該專案採用了微軟開源行為準則。有關詳細信息,請參閱行為準則常見問題解答或聯繫 [email protected] 提出任何其他問題或意見。
聯絡我們
MICROSOFT、Microsoft 標誌和 MAKECODE 是 Microsoft Corporation 的註冊商標。它們只能用於 https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general.aspx 上發布的 Microsoft 商標和品牌指南中描述的目的。如果 Microsoft 發布的指南中未涵蓋該用途,或者您不確定,請諮詢您的法律顧問或 MakeCode 團隊 ([email protected])。