工作区备注

工作区注释是一种可以向其输入文本的图形元素。它通常用于记录代码的相关信息,就像使用基于文本的编程语言编写的注释一样。

工作区备注

启用工作区评论功能

如需在应用中启用工作区注释,您需要为用户提供某种创建工作区评论的方法。一种方式是添加用于创建工作区注释的上下文菜单项。您可以使用以下代码注册默认的上下文菜单项,以创建、删除和复制工作区注释:

// 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 类 映像
blocklyComment、blocklyDraggable 工作区备注
blocklySelected、blocklyCommentHighlight 已选择评论 已选择收起的评论
blocklyCollapsed 已收起工作区评论
blocklyCommentTopbar 工作区评论顶栏
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 折叠图标
删除图标.svg “删除”图标
resize-handle.svg “调整大小”图标

“删除”图标

默认情况下,“删除”图标处于隐藏状态。如果您想启用它,则需要使用 CSS 使其可见:

.blocklyDeleteIcon {
  display: block;
}