VSCODE 系列(四)Todo Tree插件,注释高亮,颜色可编辑

本文介绍如何在VSCode中使用并配置TODO高亮插件,通过个性化设置帮助开发者高效管理代码中的注释标记,如TODO、FIXME等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

我们写程序的时候,难免会遇到一些情况需要标记或者搁置,在写代码的时候会用一些特殊的注释来表示不同的内容,使我们可以快速的定位我们注释的位置。


下载和安装

在VSCODE插件中直接搜索下载即可。
在这里插入图片描述

安装成功后,在左边栏会多出一个图标。
在这里插入图片描述

配置

先看一下我个人的配色配置。
在这里插入图片描述“CTRL+,”打开设置,在右上方打开settings.json文件,加入以下配置即可

    "todo-tree.tree.showScanModeButton": true,
    "todo-tree.filtering.ignoreGitSubmodules": true,
    "todohighlight.keywords": [],
    "todo-tree.tree.showCountsInTree": true,
    "todohighlight.keywordsPattern": "TODO:|FIXME:|NOTE:|\\(([^)]+)\\)",
    "todohighlight.defaultStyle": {},
    "todohighlight.isEnable": false,
    "todo-tree.tree.scanMode": "workspace",
    "todo-tree.highlights.customHighlight": {
        "BUG": {
            "icon": "bug",
            "foreground": "#F56C6C",
            "type": "text"
        },
        "FIXME": {
            "icon": "flame",
            "foreground": "#FF9800",
            "type": "tag-and-comment"
        },
        "TODO": {
            "icon": "check",
            "iconColour": "#81ec29",
            "foreground": "#FFEB38",
            "background": "#E63900",
            "type": "line",
            "rulerColour": "#2237b1"
        },
        "NOTE": {
            "icon": "note",
            "foreground": "#67C23A",
            "type": "whole-line"
        },
        "INFO": {
            "icon": "info",
            "foreground": "#909399",
            "type": "text-and-comment"
        },
        "TAG": {
            "icon": "tag",
            "foreground": "#409EFF",
            "type": "line"
        },
        "HACK": {
            "icon": "versions",
            "foreground": "#E040FB",
            "type": "line"
        },
        "XXX": {
            "icon": "unverified",
            "foreground": "#E91E63",
            "type": "line"
        }
    },
    "todo-tree.general.tags": [
        "BUG",
        "HACK",
        "FIXME",
        "TODO",
        "INFO",
        "NOTE",
        "TAG",
        "XXX"
    ],
    "todo-tree.general.statusBar": "total",
    "todo-tree.highlights.backgroundColourScheme": [
        "red",
        "orange",
        "yellow",
        "green",
        "blue",
        "indigo",
        "violet"
    ],

可根据自己喜好,随意更改颜色,名称,前景色,背景色等内容。
若实现icon功能,需要下载vscode-icons插件。icon样式可自选,名称见链接

首先,使用 `vite` 创建一个新项目: ``` npm init vite-app my-todo-list ``` 安装 `axios` 和 `mockjs`: ``` npm i axios mockjs -S ``` 在 `src` 文件夹下创建一个 `api.js` 文件,用来封装与后端(即 `mockjs`)进行数据交互的函数: ```javascript import axios from 'axios' export default { fetchTodoList() { return axios.get('/api/todolist') }, addTodoItem(item) { return axios.post('/api/todolist', item) }, deleteTodoItem(id) { return axios.delete(`/api/todolist/${id}`) }, updateTodoItem(item) { return axios.put(`/api/todolist/${item.id}`, item) } } ``` 然后,在 `src` 文件夹下创建一个 `mock.js` 文件,用来模拟后端数据处理逻辑: ```javascript import Mock from 'mockjs' const todoList = [] for (let i = 1; i <= 10; i++) { todoList.push({ id: i, text: `Todo item ${i}`, done: false, }) } Mock.mock('/api/todolist', 'get', () => { return { code: 200, data: todoList } }) Mock.mock('/api/todolist', 'post', ({ body }) => { body = JSON.parse(body) const newItem = { id: todoList.length + 1, text: body.text, done: false } todoList.push(newItem) return { code: 200, data: newItem } }) Mock.mock(/\/api\/todolist\/[1-9]/, 'delete', (options) => { const id = options.url.split('/')[3] for (let i = 0; i < todoList.length; i++) { if (todoList[i].id == id) { todoList.splice(i, 1) break } } return { code: 200, data: id } }) Mock.mock(/\/api\/todolist\/[1-9]/, 'put', (options) => { const id = options.url.split('/')[3] const body = JSON.parse(options.body) for (let i = 0; i < todoList.length; i++) { if (todoList[i].id == id) { todoList[i].text = body.text todoList[i].done = body.done break } } return { code: 200, data: body } }) ``` 现在,我们已经模拟完了后端数据处理的逻辑,接下来是前端的代码。在 `src` 文件夹下,创建 `components` 文件夹,并在其中创建一个 `TodoList.vue` 文件,用来展示待办事项列表: ```vue <template> <div> <h3>My Todo List</h3> <ul> <li v-for="item in todoList" :key="item.id"> <input type="checkbox" v-model="item.done" @change="updateItem(item)"> <span :style="{'text-decoration': item.done ? 'line-through' : 'none'}">{{ item.text }}</span> <button @click="deleteItem(item)">Delete</button> </li> </ul> <form @submit.prevent="addItem"> <input type="text" v-model="newItemText"> <button>Add</button> </form> </div> </template> <script> import api from '../api.js' export default { data() { return { todoList: [], newItemText: '' } }, mounted() { this.fetchTodoList() }, methods: { fetchTodoList() { api.fetchTodoList().then(res => { this.todoList = res.data }) }, addItem() { if (!this.newItemText) { return } const newItem = { text: this.newItemText, done: false } api.addTodoItem(newItem).then(res => { this.todoList.push(res.data) this.newItemText = '' }) }, deleteItem(item) { api.deleteTodoItem(item.id).then(() => { this.todoList.splice(this.todoList.indexOf(item), 1) }) }, updateItem(item) { api.updateTodoItem(item).then(() => { // do nothing }) } } } </script> ``` 在 `App.vue` 文件中引入 `TodoList` 组件,在模板中添加: ```vue <template> <div id="app"> <TodoList /> </div> </template> <script> import TodoList from './components/TodoList.vue' export default { components: { TodoList } } </script> ``` 最后,在根目录下的 `vite.config.js` 文件中添加一个代理,将 `/api` 路径代理到 `mock.js` 所在的地址: ```javascript export default { server: { proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true, rewrite: path => path.replace(/^\/api/, '') } } } } ``` 现在,启动项目,就可以看到我们的 TodoList 页面了: ``` npm run dev ``` 项目 Github 地址:https://github.com/quietbison/vue3-vite-mock-todolist
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖茄子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值