ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

VSCode 的 launch 和 task 的浅显理解

2022-07-25 02:00:20  阅读:178  来源: 互联网

标签:__ 文件 task name launch VSCode main


本文是理解,不是教程,故不涉及具体配置项或配置字段的含义、用法介绍。

VSCode 是编辑器,本身不知道如何运行程序,所以需要 launch 文件和 task 文件。

launch 文件

launch 文件的作用是告知 VSCode 如何运行一个项目的代码。

在项目目录下新建目录 .vscode,在其中新建 launch.json 文件。以简单 Python 程序为例:

{
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "justMyCode": true
        }
    ]
}

里面各项配置的含义见官网或其他资料。

在项目目录下新建 main.py 文件:

class App:
    @staticmethod
    def main():
        print('good luck')


if __name__ == '__main__':
    App.main()

在 VSCode 界面左侧的 Run and Debug 可以看到 Python: Current File 的发起项,对应 launch.json 中的 configurations 中的一项的 name。

单击运行图标,就可以看到程序的打印。

task 文件

光靠 launch 文件,描述力仍然比较弱。task 可以更加细化 launch 执行时的行为。

一个 launch 项可以配置一个 preLaunchTask 字段,指定 launch 之前运行哪个 task。

{
    "configurations": [
        {
            "name": "xxx",
            "preLaunchTask": "my_task"
        }
    ]
}

task 文件就是 .vscode 目录下(也就是和 launch.json 一起)的 tasks.json。

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "my_task",
            "type": "shell",
            "command": "ls",
            "args": [
                "-l"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            }
        }
    ]
}

一个 task 还可以用 dependsOn 字段(类型是 string 数组)指定该 task 需要哪些 task 运行之后再运行,如此一来,在项目的启动比较复杂时可以定义一系列 task,并编排它们的依赖关系,使得启动行为更易懂,也更好维护。

标签:__,文件,task,name,launch,VSCode,main
来源: https://www.cnblogs.com/jthmath/p/16516082.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有