在vscode中我们一般都是同一时间只运行一个代码,但是这种设置并不适合server/client模式,甚至有很多分布式和并行的项目需要同一时间运行多个client,针对这种情况我们可以通过设置vscode中的launch.json文件来实现。

我们可以在launch.json文件中设置多个configurations再compounds,以此实现同时运行多个程序,这里以python项目为例,给出launch.json文件内容:

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [ {
"name": "Server Python",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/server.py",
"console": "integratedTerminal",
"justMyCode": true, "python": "/home/devil/PycharmProjects/py/bin/python",
"cwd": "${workspaceFolder}",
"env": {"PYTHONPATH":"${workspaceFolder}"}
}, {
"name": "Client Python_0",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/client.py",
"console": "integratedTerminal",
"justMyCode": true, "python": "/home/devil/PycharmProjects/py/bin/python",
"cwd": "${workspaceFolder}",
"env": {"PYTHONPATH":"${workspaceFolder}"}
}, {
"name": "Client Python_1",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/client.py",
"console": "integratedTerminal",
"justMyCode": true, "python": "/home/devil/PycharmProjects/py/bin/python",
"cwd": "${workspaceFolder}",
"env": {"PYTHONPATH":"${workspaceFolder}"},
},
], "compounds": [
{
"name": "Compound",
"configurations": ["Server Python", "Client Python_0", "Client Python_1"],
"presentation": {
"hidden": false,
"group": "",
"order": 1
}
}
] }

可以看到上面分布做了四个配置,名字为:"Server Python", "Client Python_0", "Client Python_1", "Compound",其中"Compound"配置是一个混合配置,该配置的执行等于同时并行执行配置"Server Python", "Client Python_0", "Client Python_1" 。

在vscode的调试窗口中可以看到这个四个配置:

按键F5,因为"Compound"执行顺序为1因此执行"Compound"配置,但是实际上执行的是"Server Python", "Client Python_0", "Client Python_1"这三个配置:

=================================================

如何在vscode中同时运行多个文件——server/client模式——在launch.json文件中设置多个configurations再compounds的更多相关文章

  1. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  2. 利其器:无法在 ".vscode" 文件夹()内创建 "launch.json" 文件。

    无法在 ".vscode" 文件夹()内创建 "launch.json" 文件. https://www.cnblogs.com/lidabo/p/588899 ...

  3. linux系统下如何在vscode中调试C++代码

    本篇博客以一个简单的hello world程序,介绍在vscode中调试C++代码的配置过程. 1. 安装编译器 vscode是一个轻量的代码编辑器,并不具备代码编译功能,代码编译需要交给编译器完成. ...

  4. 如何在vscode中调试vue-cli项目?

    一:参考官网文档,写的还是很清楚的:https://cn.vuejs.org/v2/cookbook/debugging-in-vscode.html 二:需要安装的东西和初始项目 2.1  用vue ...

  5. VSCode 在.vscode/launch.json中设置启动时的参数

    如下脚本设置启动参数,如题,在.vscode/launch.json文件中,红色部分设置运行参数 { // Use IntelliSense to learn about possible attri ...

  6. Ruby中区分运行来源的方法(转)

    Ruby中区分运行来源的方法 这篇文章主要介绍了Ruby中区分运行来源的方法,本文讲解的是类似Python中的if name == 'main':效果,其实Ruby中也有类似语法,需要的朋友可以参考下 ...

  7. 40 VSCode下.json文件的编写——(1) linux/g++ (2).json中参数与预定义变量的意义解释

    0 引言 转入linux/VSCode编程之后,迫切了解到有必有较为系统地学习一下VSCode中相关配置文件的写法.下面将分为 linux/g++编译指令..json文件关键词/替换变量的意义.编译链 ...

  8. ASP.NET Core 在 JSON 文件中配置依赖注入

    前言 在上一篇文章中写了如何在MVC中配置全局路由前缀,今天给大家介绍一下如何在在 json 文件中配置依赖注入. 在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等 ...

  9. 转载:ASP.NET Core 在 JSON 文件中配置依赖注入

    在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等)时候,都是提供了专有的接口以供使用第三方的依赖注入组件,比如我们常用的会使用 Autofac.Untiy.Stri ...

  10. MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息

    MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...

随机推荐

  1. Vue学习:19.插槽实例

    来个简单示例练练手吧. 实例:插槽实例 思路 在封装表格组件时,通常使用默认插槽和作用域插槽来处理固定的自定义结构. 代码 根组件(APP.vue) <template> <div& ...

  2. springboot增加@EnableAsync注解,否则方法中的@Async注解没有生效

    springboot增加@EnableAsync注解,否则方法中的@Async注解没有生效. @EnableFeignClients(basePackages = {"com.test&qu ...

  3. 如何使用 Dump 文件?

    引言 本文概述了使用 WinDbg 的一些必要步骤. 准备工作 第一步,你必须更改系统的配置使其能够生成 PDB 文件,包括 Release 版本.近期的 Visual C++ 编译器默认启用此配置, ...

  4. AWX+gitlab

    目录 AWX+gitlab 1. Awx配置 1.1 添加机构 1.2 添加团队 1.3 添加主机 1.4 测试主机连通性 2. 对接gitlab 2.1 添加凭证 2.2 添加项目 2.3 上传pl ...

  5. Linux 内核:设备树(3)把device_node转换成platfrom_device

    Linux 内核:设备树(3)把device_node转换成platfrom_device 背景 在上一节中讲到设备树dtb文件中的各个节点转换成device_node的过程(<dtb转换成de ...

  6. Linux 驱动:LED子系统

    Linux 驱动:LED子系统 背景 在调试aw9523的时候,为了实现客户要的一个效果.需要修改驱动,但是大概看了一下驱动,但是因为不太熟悉LED子系统,所以有点云里雾里. 参考: https:// ...

  7. Linux 网络编程的5种IO模型 总结

    背景 在网络编程中,经常会用到一些模型,在这里做一下总结. 正文 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO 这是最简单的模型,一般配合多线程来实现. Linux 网络编程的5种IO模型 ...

  8. 基于Bootstrap Blazor开源的.NET通用后台权限管理系统

    前言 今天大姚给大家分享一个基于Bootstrap Blazor开源的.NET通用后台权限管理系统,后台管理页面兼容所有主流浏览器,完全响应式布局(支持电脑.平板.手机等所有主流设备),可切换至 Bl ...

  9. java中的基准测试框架JMH

    JHM是openJDK开发的一个benchmark框架.它是一个Maven依赖,所以创建一个Maven项目,引入下面两个依赖: <dependency> <groupId>or ...

  10. 【workerman】uniapp+thinkPHP5使用GatewayWorker实现实时通讯

    前言 之前公司需要一个内部的通讯软件,就叫我做一个.通讯软件嘛,就离不开通讯了,然后我就想到了长连接.这里本人用的是GatewayWorker框架. 什么是GatewayWorker框架? Gatew ...