Workspace 註解

工作區註解是可輸入文字的圖形元素。通常用來記錄程式碼相關事項,就像以文字為基礎的程式設計語言中的註解一樣。

Workspace 留言

啟用工作區留言

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

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

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

自訂留言的外觀

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

顏色 CSS 變數

您可以設定 commentFillColour CSS 變數,變更文字區域的背景顏色。您可以設定 commentBorderColour CSS 變數,變更留言頂端列和留言框線的顏色。

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

工作區留言,顏色已變更

CSS 類別

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

CSS 類別 圖片
blocklyCommentblocklyDraggable Workspace 留言
blocklySelectedblocklyCommentHighlight 選取的留言 已選取收合的留言
blocklyCollapsed 已摺疊的工作區註解
blocklyCommentTopbar Workspace 留言頂端工具列
blocklyFoldoutIcon 展開圖示
blocklyCommentPreviewblocklyText 留言預覽
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;
}

工作區註解,附有藍色預覽文字

藍色輸入文字的 Workspace 註解

所選精選動態的 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-icon.svg 展開圖示
delete-icon.svg 刪除圖示
resize-handle.svg 「調整大小」圖示

刪除圖示

刪除圖示預設為隱藏。如要啟用,請使用 CSS 顯示:

.blocklyDeleteIcon {
  display: block;
}

預設大小

如要設定預設註解大小,請設定靜態屬性 Blockly.comments.CommentView.defaultCommentSize

Blockly.comments.CommentView.defaultCommentSize = new Blockly.utils.Size(200, 200);