Workspace 註解

工作區註解是一種圖形元素,您可以輸入文字。這項資訊通常用於記錄程式碼相關內容,就像記錄文字程式設計語言中的註解一樣。

Workspace 註解

啟用工作區註解

若要在應用程式中啟用工作區註解,您需要為使用者提供建立工作區註解的方法。其中一個做法是新增內容選單項目,以建立工作區註解。您可以使用下列程式碼註冊預設內容選單項目,以建立、刪除和複製工作區註解:

// This should be called on page load. It can be called before or after
// you inject your workspace.
Blockly.ContextMenuItems.registerCommentOptions();

您也可以建立自己的內容選單選項,或為使用者新增其他方式新增工作區註解。如要進一步瞭解內容選單選項,請參閱內容選單

自訂註解

您可以透過多種方式自訂 Workspace 註解的外觀。 這些欄位使用的是 CSS,而非主題。可以控制留言不同部分的大部分顏色和大小,但無法控制這些元素的位置。

彩色 CSS 變數

您可以設定 commentFillColour CSS 變數來變更文字區域的背景顏色。您可以設定 commentBorderColour CSS 變數,變更註解頂端列的顏色和註解邊框。

.blocklyWorkspace {
  --commentFillColour: blue;
  --commentBorderColour: red;
}

變更顏色的工作區註解

CSS 類別

留言檢視畫面中的不同元素會指派不同的 css 類別,方便您修改元素的樣式。

CSS 類別 圖片
區塊留言、可封鎖 Workspace 註解
已選取「封鎖」、封鎖「註解」 選取的留言 已選取已收合的留言
blocklyCollapsed 已收合工作區註解
blocklyCommentTopbar Workspace 註解頂端列
blocklyFoldoutIcon 折疊圖示
blocklyCommentPreview、blocklyText 留言預覽
blocklyDeleteIcon 刪除圖示
blocklyText 文字
blocklyResizeHandle 「調整大小」圖示

CSS 基本用法

在多數情況下,您可以使用適當的 CSS 類別套用自訂屬性:

.blocklyCommentTopbarBackground {
  height: 50px;
}

頂端列較高的工作區註解

用於文字的 CSS

不過,對於文字來說,您需要更具體,才能覆寫轉譯器產生的 CSS。

/* Modifies the preview text. */
.blocklyComment .blocklyCommentPreview.blocklyText {
  fill: blue;
}

/* Modifies the input text. */
.blocklyComment .blocklyText {
  color: blue;
}

含有藍色預覽文字的工作區註解

含有藍色輸入文字的工作區註解

所選重點資訊的 CSS

此外,為了在選取註解時醒目顯示註解,請根據註解是否處於收合狀態,對變更套用 CSS。如果控制項處於收合狀態,您會將 CSS 套用至 blocklyCommentTopbarBackground,否則請將其套用至 blocklyCommentHighlight

/* Highlight when expanded. */
.blocklySelected .blocklyCommentHighlight {
  stroke: #fc3;
  stroke-width: 3px;
}

/* Hide normal highlight when collapsed. */
.blocklyCollapsed.blocklySelected .blocklyCommentHighlight {
  stroke: none;
}

/* Instead apply the collapsed highlight to the top bar. */
.blocklyCollapsed.blocklySelected .blocklyCommentTopbarBackground {
  stroke: #fc3;
  stroke-width: 3px;
}

圖示

blocklyFoldoutIconblocklyDeleteIconblocklyResizeHandle 類別全都會套用至 <image> 元素。也就是說,如要變更圖示的顏色或形狀,您可以在媒體資料夾中加入其他圖片。

映像檔名稱 圖片
foldout-arrow.svg 折疊圖示
刪除-icon.svg 刪除圖示
resize-handle.svg 「調整大小」圖示

刪除圖示

刪除圖示會預設為隱藏。如要啟用資訊卡,則必須透過 CSS 顯示:

.blocklyDeleteIcon {
  display: block;
}