• VScodeTodoTree 待办事项插件的定制和使用


    VScode-TodoTree 待办事项插件的定制和使用



    背景

    写代码过程中,突然发现一个Bug,但是又不想停下来手中的活,以免打断思路,怎么办?按代码编写会规范,都是建议在代码中加个TODO注释。

    Todo Tree 介绍

    202208190917895

    1. 概述
      • 这个扩展可以快速搜索(使用ripgrep)你的工作空间中的评论标签,如TODO和FIXME,并在活动栏中以树状视图显示它们。
      • 该视图可以从活动栏中拖出到资源管理器窗格中(或其他你希望它出现的地方)。
      • 在树状视图中点击一个TODO将打开该文件,并将光标放在包含该TODO的那一行。
      • 找到的TODO也可以在打开的文件中突出显示。
    2. 安装
      • 在先安装:
        • 在vscode的扩展中心,搜索 Todo Tree 然后点击安装;
      • 离线安装:
        • 点击前往 官网 下载插件离线包(vsix)
        • 打开vscode扩展中心,然后打开更多(扩展中心右上角的...),选择 Install fron VSIX ,最后找到下载的 vsix文件即可。


    配置介绍

    常用标记

    • TODO: 待办标记,用来标记待办的地方。表示标记处有功能代码待编写,待实现的功能在说明中会简略说明。
    • HACK: 待修改标记,用来标记可能需要更改的地方。在写代码的时候,有的地方我们并不确定他是正确的,可能未来有所更改,这时候可以使用HACK标记。
    • FIXME: 待修复标记,用来标记一些需要修复的位置。表示标记处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。
    • XXX: 改进标记,用来标记一些草率实现的地方。在写代码的时候,有些地方需要频繁修改,代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进,要改进的地方会在说明中简略说明。
    • NOTE: 说明标记,添加一些说明文字。
    • INFO: 信息标记,用来表达一些信息。
    • TAG: 标识标记,用来创建一些标记。

    照抄配置

    打开配置文件,并粘贴一下内容

    快捷入口:

    1. 快捷打开设置 Crtl+Shift+p 搜索 settings.json

    2. 选择 TODO配置范围(怕麻烦就用 User Settings),生效范围依次递减:

      • Open User Settings (JSON) 用户配置
      • Open Workspace Settings (JSON) 工作区配置
      • Open Folder Settings (JSON) 文件夹配置
    3. 将配置写入 json 文件的最下面即可

      "todo-tree.regex.regex": "(//|#|<!--|;|/\\*|^|^[ \\t]*(-|\\d+.))\\s*($TAGS)",
      "todo-tree.filtering.ignoreGitSubmodules": true,
      "todo-tree.tree.showCountsInTree": true,
      "todo-tree.regex.regexCaseSensitive": false,
      "todo-tree.general.statusBar":"current file",
      "todo-tree.general.tags": [
          "BUG",
          "FIXME",
          "TODO",
          "HACK",
          "XXX",
          "TAG",
          "DONE",
          "NOTE",
          "INFO",
      ],
      "todo-tree.highlights.defaultHighlight": {
          "icon": "alert",
          "type": "line",
      },
      "todo-tree.highlights.customHighlight": {
          "BUG": {
              "icon": "bug",
              "foreground": "#F56C6C",
          },
          "FIXME": {
              "icon": "flame",
              "foreground": "#FF9800",
          },
          "TODO":{
              "icon": "checklist",
              "foreground": "#FFEB38",
          },
          "HACK":{
              "icon": "versions",
              "foreground": "#E040FB",
          },
          "XXX":{
              "icon": "unverified",
              "foreground": "#E91E63",
          },
          "TAG":{
              "icon": "tag",
              "foreground": "#409EFF",
          },
          "DONE": {
              "icon": "verified",
              "foreground": "#0dff00",
          },
          "NOTE":{
              "icon": "note",
              "foreground": "#67C23A",
          },
          "INFO":{
              "icon": "info",
              "foreground": "#909399",
          },
      },
      

      Tips: 如果不需要这么多的标记,可以删除 todo-tree.general.tags 中的标记即可

    配置(括号中为默认值)

    适用范围

    • todo-tree.regex.regex ((//|#|<!--|;|/\\*|^|^[ \\t]*(-|\\d+.))\\s*($TAGS))

      这定义了用于定位 TODO 的正则表达式。默认情况下,它会在以//、#、;开头的评论中搜索标签。、<!--或/*,以及降价待办事项列表。这应该涵盖大多数语言。但是,如果您想对其进行细化,请确保将($TAGS)保留为($TAGS)将被扩展的标记列表替换。要使某些扩展功能正常工作,($TAGS)应该出现在正则表达式中,但是,如果您需要显式扩展标签列表,基本功能应该仍然有效。

    • todo-tree.general.tags (["TODO","FIXME","BUG"])

      这定义了被识别为 TODO 的标签。此列表会自动插入到正则表达式中。

    • todo-tree.general.tagGroups ({})

      此设置允许将多个标签视为一个组。例子:

      "todo-tree.general.tagGroups": {
          "FIXME": [
              "FIXME",
              "FIXIT",
              "FIX",
          ]
      },
      

    Tips:

    • 这将任何FIXME,FIXIT或FIX视为FIXME。当树按标签分组时,所有这些都会出现在FIXME节点下。这也意味着自定义突出显示应用于组,而不是每个标签类型。
    • 组中的所有标签也应该出现在todo-tree.general.tags.
    排除文件和文件夹

    要限制搜索的文件夹集,您可以定义 todo-tree.filtering.includeGlobs. 这是与搜索结果匹配的 glob 数组。如果结果与任何 glob 匹配,则将显示它们。

    默认情况下,该数组为空,它匹配所有内容要从搜索中排除文件夹/文件,您可以定义 todo-tree.filtering.excludeGlobs. 如果搜索结果与这些 glob 中的任何一个匹配,则结果将被忽略。

    您还可以使用上下文菜单在树中包含和排除文件夹。此文件夹过滤器单独应用于包含/排除 glob。

    • todo-tree.filtering.includeGlobs ([])

      用于通过包含来限制搜索结果的 Glob,例如 [\"**/unit-tests/*.js\"] ,仅在 unit-tests 子文件夹中显示 .js 文件。球帮助。(glob 路径是绝对的 - 与当前工作空间无关)

    • todo-tree.filtering.excludeGlobs (["**/node_modules"])

      用于通过排除限制搜索结果的 Glob(在includeGlobs之后应用),例如 [\"**/*.txt\"] 忽略所有 .txt 文件。(node_modules默认排除)

    • todo-tree.filtering.ignoreGitSubmodules (false)

      如果为真,搜索时将忽略,包含文件的任何子文件夹。.git


    突出显示

    突出显示标签是可配置的。用于 defaultHighlight 为所有标签设置突出显示。如果您需要以不同方式配置各个标签,请使用 customHighlight. 如果未在 中指定设置customHighlight,则使用 from 的值defaultHighlight。

    • todo-tree.highlights.defaultHighlight ({})

      设置默认高亮。例子:

      {
          "foreground": "white",
          "background": "red",
          "icon": "check",
          "type": "text"
      }
      
    • todo-tree.highlights.customHighlight ({})

      设置每个标签(或标签组)的亮点。例子:

      {
          "TODO": {
              "foreground": "white",
              "type": "text"
          },
          "FIXME": {
              "icon": "beaker"
          }
      }
      
    1. 常用参数

      • foreground- 用于设置编辑器中标记部分高亮和前景色。
      • background- 用于设置编辑器中标记部分高亮的背景颜色。
        • 前景色和背景色可以使用HTML/CSS 颜色名称(例如“Salmon”)、RGB 十六进制值(例如“#80FF00”)、RGB CSS 样式值(例如“rgb(255,128,0)”或来自当前主题,例如peekViewResult.background。十六进制和 RGB 值也可以指定 alpha,例如“#ff800080”或“rgba(255,128,0,0.5)”。
      • opacity- 透明度,与背景颜色一起使用的百分比值。100% 将产生不透明的背景,这将掩盖选择和其他装饰。
        • 不透明度只能在使用十六进制或 RGB 颜色时指定。
      • icon- 图标样式,用于在树视图中设置不同的图标。必须是有效的 ociconscodicon
        • 如果使用 codicons,请以“$(icon)”格式指定它们。如果图标无效,则图标默认为勾号.
      • iconColour- 用于设置目录树区域的图标颜色。如果未指定,它将尝试使用前景色或背景色。
        • 颜色可以根据前景色和背景色指定,仅在使用 codicons 时才支持主题颜色。仅当使用 ocicons 或默认图标时才支持 Hex、RGB 和 HTML 颜色。
      • rulerColour- 用于设置总览标尺中标记的颜色。如果未指定,它将默认使用前景色。颜色可以根据前景色和背景色指定。
      • type- 用于控制在编辑器中突出显示多少。有效值为:
        • tag- 仅突出显示标签;
        • text- 突出显示标签和标签后的任何文本;
        • tag-and-comment- 突出显示注释字符(或匹配的开始)和标签;
        • tag-and-subTag- 如上所述,但允许子标签也被突出显示(在自定义突出显示中定义颜色);
        • text-and-comment- 突出显示注释字符(或匹配的开始)、标记和标记后的文本;
        • line- 突出显示包含标签的整行;
        • whole-line- 将包含标签的整行高亮显示到编辑器的全宽;
        • capture-groups:n,m...- 突出显示来自正则表达式的捕获组,其中“n”是正则表达式的索引;
        • none- 禁用文档中的突出显示;
    2. 样式参考


    其他配置

    • todo-tree.general.revealBehaviour (start of todo)

      在树中双击 todo 时更改光标行为。您可以选择:(start of todo将光标移动到待办事项的开头)、end of todo(将光标移动到待办事项的末尾)或start of line(将光标移动到行首)。

    • todo-tree.general.statusBar (none)

      在状态栏中显示的内容 - 无 (none)、总计数 (total)、每个标签的计数 (tags)、前三个标签的计数 (top three) 或仅当前文件的计数 (current file)。

    • todo-tree.tree.showCountsInTree (false)

      设置为 true 以显示树中 TODO 的计数。

    • todo-tree.regex.regexCaseSensitive (true)

      设置为 false 以允许匹配标签而不考虑大小写。

    更多参考: Todo Tree官网



    效果

    标记效果如下(左标记效果,右标记实例):

    202208191726799



    Via

  • 相关阅读:
    BZOJ 1391: [Ceoi2008]order
    BZOJ 4504: K个串
    2019 年百度之星·程序设计大赛
    POJ 2398 Toy Storage (二分 叉积)
    POJ 2318 TOYS (二分 叉积)
    HDU 6697 Closest Pair of Segments (计算几何 暴力)
    HDU 6695 Welcome Party (贪心)
    HDU 6693 Valentine's Day (概率)
    HDU 6590 Code (判断凸包相交)
    POJ 3805 Separate Points (判断凸包相交)
  • 原文地址:https://www.cnblogs.com/librarookie/p/16617318.html
Copyright © 2020-2023  润新知