热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在VSCode中添加自定义外部命令

通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。

许多全局工具可以在任何地方通过命令行调用,而特定于某个项目的命令则可以放在项目仓库中。然而,如果能够直接在常用的文本编辑器中添加自定义的外部命令,那么执行这些命令只需简单的快捷键即可,无需手动输入。

编写外部命令调用

由于调用的是外部工具,因此工具本身的编程语言并不重要,只要有合适的运行环境,任何命令都可以执行。以我在博客中使用的外部命令 mdmeta 为例,该工具已通过 mklink 命令链接到 /build 文件夹中。如果需要多人协作开发,可以使用 git-lfsgit-submodule 来管理项目的外部命令。关于 mklink 的使用方法,可以参考相关文档。

/build 文件夹中添加可执行脚本,例如:

dotnet build\mdmeta\mdmeta.dll wupdate --ignore-in-hour 6

在VSCode中使用外部命令

虽然可以通过VSCode内置的终端来使用外部命令,但这并没有带来太多便利。为了更好地集成,VSCode提供了Tasks机制,可以将命令与编辑器集成。关于Tasks的详细信息,可以查阅VSCode的官方文档:Tasks in Visual Studio Code

具体来说,需要创建一个配置文件 /.vscode/tasks.json。该文件包含一些默认内容,如果不确定如何开始编写,可以按 F1,选择 Configure Task,随便配置一个任务,然后根据需要进行修改。

以下是我定义的两个命令:

  • Init Metadata
  • Update Metadata
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Init Metadata",
            "type": "shell",
            "command": "${workspaceRoot}\\build\\mdinit.ps1",
            "problemMatcher": []
        },
        {
            "label": "Update Metadata",
            "type": "shell",
            "command": "${workspaceRoot}\\build\\mdupdate.ps1",
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

这两个命令分别用于初始化博客仓库和更新所有博客文章的YAML元数据。由于更新元数据是经常使用的命令,因此将其设置为编译类型的命令,并指定为默认命令("isDefault": true),这样就可以通过 Ctrl+Shift+B 快捷键来执行。

使用快捷键执行外部命令

如果有多个命令或希望使用不同的快捷键,可以在任务中指定。例如,希望按下 Ctrl+U 时更新元数据,可以在任务中添加 "key": "ctrl+u"

{
    "label": "Update Metadata",
    "type": "shell",
    "key": "ctrl+u",
    "command": "${workspaceRoot}\\build\\mdupdate.ps1",
    "problemMatcher": [],
    "group": {
        "kind": "build",
        "isDefault": true
    }
}

参考资料


推荐阅读
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • Windows 7 64位系统下Redis的安装与PHP Redis扩展配置
    本文详细介绍了在Windows 7 64位操作系统中安装Redis以及配置PHP Redis扩展的方法,包括下载、安装和基本使用步骤。适合对Redis和PHP集成感兴趣的开发人员参考。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 本文详细介绍如何使用CSS自定义HTML5视频播放器的样式,涵盖常见属性及跨浏览器兼容性问题。发布时间:2020-09-14 14:46:29;来源:亿速云;阅读量:58;作者:小新。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 基于Node.js、Express、MongoDB和Socket.io的实时聊天应用开发
    本文详细介绍了使用Node.js、Express、MongoDB和Socket.io构建的实时聊天应用程序。涵盖项目结构、技术栈选择及关键依赖项的配置。 ... [详细]
  • RStudio 1.4安装指南及使用说明
    RStudio 1.4 是一款强大的集成开发环境(IDE),专为 R 语言编程设计。它提供了简洁直观的用户界面和丰富的功能,能够显著提升数据科学家和程序员的工作效率。本文将详细介绍其安装步骤和主要特性。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • Nature Microbiology: 人类肠道古菌基因组目录
    本研究揭示了人类肠道微生物群落中古细菌的多样性,分析了来自24个国家、农村和城市人群的1,167个非冗余古细菌基因组。研究鉴定了多个新分类群,并探讨了古菌对宿主的适应性及其与社会人口特征的关系。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文深入探讨了面向切面编程(AOP)的概念及其在Spring框架中的应用。通过详细解释AOP的核心术语和实现机制,帮助读者理解如何利用AOP提高代码的可维护性和开发效率。 ... [详细]
author-avatar
王聪明2011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有