From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 55B4D456F4; Tue, 30 Jul 2024 14:04:17 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 212AB402EA; Tue, 30 Jul 2024 14:04:06 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by mails.dpdk.org (Postfix) with ESMTP id 50DFD400D7 for ; Tue, 30 Jul 2024 12:50:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722336617; x=1753872617; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=5ZZRx0/C1zOD5IwREEr1Ced9M9GwR7j2plqJSc31rGk=; b=eFZrXFHtg9F61x26vqG4eEA1MwpDYFKK3clngl8SN584KbA0FCkXJ8NW VyUVyFNyT2/OJdfRXw0p264XQ1sKgxDk8pRQVV9+0JEQwQmXGDVgZbi2n 1HJ9X0FyzIIln9YtiY0XkK9sUFkZqapt5LsRcDViweeul4njAUSmKXUYG 9LhkhsfgyEQsdA9PnoP6okyVvjPdp2G6VPLm+EleGnSeAEZC19Md8Bqcs PeOpjNO3jTqOuKgM2zUi92nP9CuwaITjUPqjYWggCAWQ+Z77N+Y8LhA7b pgfBA6+c68Q3aulXp1WbfbQ7qpsfswGPkO7b0Rxiv6w+QNxoztiH8uwsx g==; X-CSE-ConnectionGUID: +YkCenD4Tq2aWI72ENCtog== X-CSE-MsgGUID: msGQERHuReaUutjBs1kXxg== X-IronPort-AV: E=McAfee;i="6700,10204,11148"; a="30807800" X-IronPort-AV: E=Sophos;i="6.09,248,1716274800"; d="scan'208";a="30807800" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jul 2024 03:50:16 -0700 X-CSE-ConnectionGUID: Nf7h2RZqS5a4T4DlCCb0RQ== X-CSE-MsgGUID: rbVCzFGLT3mJpbITpoKmHA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,248,1716274800"; d="scan'208";a="54215667" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Jul 2024 03:50:16 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 30 Jul 2024 03:50:15 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 30 Jul 2024 03:50:15 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.47) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 30 Jul 2024 03:50:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tqhn5mvisQoc/svk8T4EUnuLadfIt0077QYyWlTW8m7sWk9OCdfjuKSHZEkc8aU0NBI29kmYTqXSedvglEJD0yfN14fH+xvHVKQMmtOM8mdYrFecy9XO9Xww8JCYnfSWDu55iFIxYbryioFjG/W6hCyOd6oOuJRUJ/NJWPDKER00sVYT2XMPitk6veBrOjCH8ePGjeHarL9rQOAuK5zYxbof1GOrNEUGbQ0lBiNkR7qY7wJZCirk0q4rxAu3hnRA8J7bXk8xDrqzw9xe1LFnxfF0DYCqYXNfVaBRk3iJS/zUd2qv3VojDc7mYyAfhlcv8e94iUEeWincm7DJLF46ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XQB4Q6iCIST8OGBWHEfPgOBaqdLSqplLcZskPmdFyrk=; b=f1AaVR7zXYPPfy32gNn/LAawb2wdugKFVHA91cOFnl3JYvSLYkqCjKnRkczM1g8Rp2aZXNJfPDMRjq9oAzdax8vICEaFdrd9hnK5PxciopALPtsAnJ5d1Po9Qi1nxIcdhHqniCg3MAzXRnR66WWWYLorfGcZQM4URVWke9fR4h9D7F6kuDmrWyWWDHQpxlji7d9mFn65k2wz1N18+xBpSvJ1FUst9efT7LO9XbJnKeVSy3ToNLeWOMllJ6oCjAF0hieVdfX6Pg3RCMB0bw4llAcbXXCe3ie/3jHLv899T3CFDVu3fE2oMZKKDBKjvIjTexZUreWyHb3Gv/5CsFdrcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DM4PR11MB6502.namprd11.prod.outlook.com (2603:10b6:8:89::7) by CH0PR11MB5267.namprd11.prod.outlook.com (2603:10b6:610:e2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.28; Tue, 30 Jul 2024 10:50:13 +0000 Received: from DM4PR11MB6502.namprd11.prod.outlook.com ([fe80::21e4:2d98:c498:2d7a]) by DM4PR11MB6502.namprd11.prod.outlook.com ([fe80::21e4:2d98:c498:2d7a%7]) with mapi id 15.20.7828.016; Tue, 30 Jul 2024 10:50:13 +0000 Message-ID: <223c7647-b6fa-4470-8a6f-a1954f0cce2b@intel.com> Date: Tue, 30 Jul 2024 12:50:03 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v2 1/1] devtools: add vscode configuration generator To: Bruce Richardson CC: , References: <99003582461c7ec772e49dae9b43840496342646.1722258213.git.anatoly.burakov@intel.com> <3edc6421-0923-4371-a7dd-62d3857259ab@intel.com> <17a028f0-6c2e-493b-9fd4-3ded156299ac@intel.com> Content-Language: en-US From: "Burakov, Anatoly" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: DUZPR01CA0064.eurprd01.prod.exchangelabs.com (2603:10a6:10:3c2::17) To DM4PR11MB6502.namprd11.prod.outlook.com (2603:10b6:8:89::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR11MB6502:EE_|CH0PR11MB5267:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e70ee13-19b3-4bef-a259-08dcb0856395 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?SDJxc3N1aStPa0p1Mmw2ck5mK3BhbWFYTGdQNlloRGtmcERKUGNtN2V2OTFK?= =?utf-8?B?N3Ayc1E2UE5JSVZ1V3FFZXhOc1NmVTMvTjVjRmRMK01RNDVSOWdneHhNSk12?= =?utf-8?B?SWJ1VDF6QkFNSjViMFQvZ0Ntc0dNZzBTVEhURElzWHRtRkY5K2d6UU9IemRO?= =?utf-8?B?emR6dVBPK1lhOXR2UVJkMEZsY1lYdVEycDRDN0FYdU5kYnhlanlzek5lZDNO?= =?utf-8?B?WEhjZmNUaTN0aU8yVUNoZm1NeUZSamNPUW1nMG4vbG5wNVQ0R2o5MmMzSkd0?= =?utf-8?B?elRNMEpJbkRwaGxheUZFbklmVnZHTjZ0SW5FVVM3SFJmbWZHVGJIL3FhN1NE?= =?utf-8?B?dzVQbkZCWnpJOVc3b0dXelE1bWUzd0lRUGpwL2NLMThieFA0M0c0V1A3WGJq?= =?utf-8?B?eTZLMFdvbzRaek81RGkwczRMR0p6WHhpSUpUOWNWODN1SlIzN3VTTTRsOEF1?= =?utf-8?B?Z0xDRmpLUFk4RFJ3L3gvOVJMRFpuLy9najdET2U0U1ZlZWtxd1oxY1h2WFI5?= =?utf-8?B?NEFaZ1NWZ213Q1Q1VlRFb0xiT0hqZFRGOHVCVnBnMGhsdzByUVYzNkxoK3FP?= =?utf-8?B?anBpdDN6dklNSGhOVUppSmNxWjVvVCtod3dncU9jcjRDem5xajdaUWRVOWFF?= =?utf-8?B?YkNwL2h0eGtQRkpmSXZlK2Q1U083eTc5bU9HRTJaZVF1a0tnUHoxdkxaSFJ2?= =?utf-8?B?Q05nRG1OdmhJb3Q5bFFpc1ZVdzVXNy95K0NwaHpiZkhSNjY2aUQ5QXFvUUts?= =?utf-8?B?TWpGRFJvcUFBUkRpdnNsTGNiYTBqeCtpTHBPRTc3cmZLMUJiZDhLZ0Y2dXBD?= =?utf-8?B?Zk9CejN1TThGeVFkMlJTY1RNYW1EOTA1YlcxL1lIejk2cFdlVlZEdDNWMkVY?= =?utf-8?B?NGZtMVc3YTdpZU1wYkZjRCtYN1UzRzYzWXc2aXM5dUZTOE9WOFczVG9OakVI?= =?utf-8?B?enhDdjJ0QnhmdURhMGpDMGdmbEhyUENlRG5xc2xvVWIxRU9ycWxVblZrbUkv?= =?utf-8?B?TEVxNktIaVRkcjNGMy9IQ0NYQ3dSaUFhQWV0RUt5SmdyRG4wVVpiWXpwbUxT?= =?utf-8?B?RFh0UWwremNFaTdHUEYxeVZNOTFWL3ZieG51cHpudGJybzl5UnJIeWZVUDdC?= =?utf-8?B?SW5XTnY2VHJ1Qkt2QWd1eXV4RGdzak1MYk1TRUdKUHlMSUN0R0VSbFpUSXBJ?= =?utf-8?B?M2FTNUlFNklPd1ArMlVOcGhJdytnRDNtNUErSnJHNDBlbG4zYlB4NEJnanVy?= =?utf-8?B?enUwRDV3bTkzZ1lNWlZpeVQwMlRCYnYzc1BlcExWcTVzOVc4VGFDN05DVEpI?= =?utf-8?B?TCt6Yi91STZ6T2xLdm03Umd2c2M1eGt0MW5Pdyt0QU8wSGJHSFdRbC8vTDJo?= =?utf-8?B?T3ZTdnVwcEYzMHQ0MTVTaXhZYkVaMnhtOG96b1Z0SG5Gd0xrZzFoSHZPU1RL?= =?utf-8?B?QUROcHM5SmNkSjN4RGcvWUJOcHVpTlA5d3F3SzFIc3p1aW1mQzV3d1NEb2Jq?= =?utf-8?B?bEtYblpZK1d1cklDKzFydXVPTE9pQjdwMFo0MFZGRXF5R0paMEJDcS9hV0NS?= =?utf-8?B?enllUU5OTjNzM3BoamNiOWZrQks5WWdoU29CakFZdmhQRm9Bdi84Q0JrMEto?= =?utf-8?B?cndUT1AzcDBSYnNLKzJpdnZYdjVHS3JzQVdENWVyeHRaS0VqSGFEd0lUNkdy?= =?utf-8?B?N0ZZQkhENXVJbUwxS2JNYjZReGlkanFVSHF3dUgzaUpvUHdrczNYcXc0aVo0?= =?utf-8?B?a2tZTXkwTmZoSkRiN2g4VkVTQnBLdXUvVlFWUUh1Q2FSOEk4d2doVThmNHlP?= =?utf-8?B?akhvMExSZGR6RW5XU3g5Zz09?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB6502.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dy9DV2xoQ2dWaytIdEZHczlSb1ZYWmNDZXJWTlRGNTRrNjFET3JHeWpJNXNC?= =?utf-8?B?dmhTN0tvNFpORTA2YlpOeDF5T2JNYW03L3ZpR0JrVmk4QlF2Rm5DY3J6OUEv?= =?utf-8?B?ZmxsQk01eHhGUThrSG1lT1ZQdEdYUU5GMVVSWjVVR2RaSVdqbHNabmpzUXFz?= =?utf-8?B?ck1iNFdlR0M3c0JYek9iVUQ0UXRnTTNyK2pwVkVjYU9IRmhGb01UNVNrTUMw?= =?utf-8?B?Tm93S2x3aUJZTTYwNVJGelhpV0JBQnp1ZnY1Y0gwZWFmdmZyUzBxT2JNQjZV?= =?utf-8?B?a29oOW1mUERRK0RZcmg3dzNaUlUzM2FsZ21GYy9jR0p1NjhTNksyaStGMUg1?= =?utf-8?B?UHVnU3hhTU5Cc1ZLa0NFTnJOcFNtQmF4N0xydWdEWnMvTjIva0hRa3V6Qy9T?= =?utf-8?B?am54dWg3OHZtUWUzOGM3UWU5YjcxRi9Sb3ZLQVlHcnFRLzZRS3dPd0hYaFo4?= =?utf-8?B?ZUFXZTNZV2hZR3M4RHR5L0QxSE1xWmdiME5ac3d3alZzbTY4L0J2aVArL1Nu?= =?utf-8?B?WXkzWjFmYXljZk1aSVkwUDE1Nml3MmxYdkg3dS93VzFYYmdMSmdkbWdKRW9m?= =?utf-8?B?aTh1RjBpRmUzOTdZU216Zk1kYUtWZVEzWTRQcldhdE5sUHZJL2UyeTE5Njlp?= =?utf-8?B?Lzc3M0ZHRTkvUE5DOERUMXRDN0pDdmhxSXlVUnAxcmtuRkx6bFVBd3dZSUhu?= =?utf-8?B?MTlSMElvbHhtUDRFcE1iSkxnczZhL3luWXdWK0R2YUJGK0ZlSUJvYWZEOTJq?= =?utf-8?B?dXpXTWFnNVV6REJ2ekliOEVwdlZpQkNzaitDRmZBcDVER1QxQ29mdUd4ZjFa?= =?utf-8?B?S2FGQTQyTUE3bk5tQzhvYUY4V2ZZQUJrN0RzR0JNVGY1T0tPTW92NkVFQUJ1?= =?utf-8?B?N1BjTUMrNnR5Rmt5Y1lHenhxaFRwUDBaZ0pYenl3MFAzSEhNMmJYTXIvdlhq?= =?utf-8?B?aEFJclNQS2tHVCswY2VvdWJZdElHTXNHdndHcVZTclZEbXFLZ2ord0VReElV?= =?utf-8?B?dDY3Q3dxaDd3QTZVN0loTXEvaGxNbmVoQUVIK3ZQM1BFTXY5VDI4YjEzbERP?= =?utf-8?B?UldXUTVmMHJ3Z2xkbXhyQW5aNE5QRWRNTmtwbmNuZWpORStMMks5STFiTEdS?= =?utf-8?B?SjkrZlU4cEtXenArOTgyOHpHMFJ3OHNRblp2eVAwNnowWGRjN2NvNUpadnFV?= =?utf-8?B?cjFpaE9BNm1jQUt3Yk9lYzZQRW50OTNObnJXQXhjc0xMQ0lXL3pGTjZrUjNk?= =?utf-8?B?QnNSZkQ3ZUVBaWp3S3lSM0FHeUxHa0V3dWtDbzBMUTA4UFpyL2p4dHl5SDFu?= =?utf-8?B?d2RsKy9sU1dqK3NqekZveGp2Y0I0WC83UmNKTEZxYy9xVGp5Ym9Dd3l3V0t1?= =?utf-8?B?dXRyM0R1K2NaZnE3VURDZFVBSGMvMWs2R1phZm5MdERpQUNhU2pjMkloVlZX?= =?utf-8?B?b3dEWHVNeUxuY2lZKzdVWlNLZ0lPWGtVRzFnakV4OWRGUHorRHZocVo4TEpW?= =?utf-8?B?ZVVtYUhvOWFBaURYY1NELytQd1dTZkJRdWtKeVRjS2FtQVdjNnowYnNVNGpL?= =?utf-8?B?R0h6N3NETzBTR0MrS09RcndQM3p5WUJmK0JsVTVWZW4xMURseG91R2dGenZF?= =?utf-8?B?OExZZHdBK0VrUm1CSWp1bWpQa0gyTGNYTjlRdjgrcnlldStFMTh5bzZmclZj?= =?utf-8?B?MTRlNmlWZUZaVStqeS9UNWNuWU9rQTNDS1I1cmdNWGdzMnJYaDcwcjJmSTl2?= =?utf-8?B?U1BUTnVhT0RRSU1sYStNWVZjMHd6TEtrdmFGQTdid1ZPY3loVE1uNHQ0THZ1?= =?utf-8?B?RXlCNWdxbnI2UVg5MjV3SzlCV2M0ejZxN3o2aE5ValJqSGlqRmhNSTgwamQw?= =?utf-8?B?K1A5MjcyK2FXaEh2WENxSDdpVTlxN0hFbk5DY2FubTIzd3VBSlhNZm1PZ2xm?= =?utf-8?B?RG9NVzdNMVpHRWl1byt2UzNYWGRYOFY1enp2dWs5KzdZbGd1QVk5VXRFWllK?= =?utf-8?B?TFdlRDZFYTYrY1U5SkZuTkNrczQ3OWlwdWlPYlh2c3FwVjJCZjZVZ3N5WUU3?= =?utf-8?B?VVJ1S1lWVE16N0d6UUhLL256c0JMNHZDdWFQVmo4L2xJTlU0c1hRQTlqdG5s?= =?utf-8?B?M0w5TExqNnMwTlVQZVpZTGNZOUVjeENKRnBkcThtZE5HSnE5RldFWDNhUytE?= =?utf-8?B?b3c9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 5e70ee13-19b3-4bef-a259-08dcb0856395 X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6502.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2024 10:50:12.9921 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XZtRAK2nlzx5F+vccSJ5nr1cJF5HL0b0vLrc/Ut4gTRzmzMsCYp95XG1mzuh1UP+6fFye4HDvRsVyubJUMrZTZU8x6PzqslRILUt9AfHkUQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5267 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 7/30/2024 12:31 PM, Bruce Richardson wrote: > On Tue, Jul 30, 2024 at 11:21:25AM +0200, Burakov, Anatoly wrote: >> On 7/29/2024 6:41 PM, Bruce Richardson wrote: >>> On Mon, Jul 29, 2024 at 06:16:48PM +0200, Burakov, Anatoly wrote: >>>> On 7/29/2024 4:30 PM, Bruce Richardson wrote: >>>>> On Mon, Jul 29, 2024 at 02:05:52PM +0100, Anatoly Burakov wrote: >>>>>> A lot of developers use Visual Studio Code as their primary IDE. This >>>>>> script generates a configuration file for VSCode that sets up basic build >>>>>> tasks, launch tasks, as well as C/C++ code analysis settings that will >>>>>> take into account compile_commands.json that is automatically generated >>>>>> by meson. >>>>>> >>>>>> Files generated by script: >>>>>> - .vscode/settings.json: stores variables needed by other files >>>>>> - .vscode/tasks.json: defines build tasks >>>>>> - .vscode/launch.json: defines launch tasks >>>>>> - .vscode/c_cpp_properties.json: defines code analysis settings >>>>>> >>>>>> The script uses a combination of globbing and meson file parsing to >>>>>> discover available apps, examples, and drivers, and generates a >>>>>> project-wide settings file, so that the user can later switch between >>>>>> debug/release/etc. configurations while keeping their desired apps, >>>>>> examples, and drivers, built by meson, and ensuring launch configurations >>>>>> still work correctly whatever the configuration selected. >>>>>> >>>>>> This script uses whiptail as TUI, which is expected to be universally >>>>>> available as it is shipped by default on most major distributions. >>>>>> However, the script is also designed to be scriptable and can be run >>>>>> without user interaction, and have its configuration supplied from >>>>>> command-line arguments. >>>>>> >>>>>> Signed-off-by: Anatoly Burakov >>>>>> --- >>>>>> >>>>> Just was trying this out, nice script, thanks. >>>> >>>> Thanks for the feedback! Comments below. >>>> > > More comments inline below, but summarising after the fact here. > > Still not entirely sure what way is best for all this so please take all > current and previous suggestions with a pinch of salt. Based off what you > suggest and the ongoing discuss my current thinking is: > > * +1 to split the vscode config generation from the TUI. Both are also > targetting different end-users - the TUI is for everyone looking to build > DPDK, both devs and users, while the vscode config is for developers only. > * Let's ignore the multi-build-directory setup for now, if it makes it more > complex for the simple cases of one build-dir. Not really *that* much more complex, IMO. The only real issue is possible differences in code analysis behavior stemming from having "wrong" build directory set up as a source of compile_commands.json. If you're OK with adding multiple tasks per multiple build directories, then all of the rest of it becomes trivial because if launch tasks are per-build, they can reference per-build build commands and work seamlessly using "duplicate" commands. And even then, for first version we can probably drop the code analysis angle (just use the first detected config as the source), in which case we can pretty much support multiple build dirs for free as we'd have to build all the infrastructure (e.g. config updates etc.) anyway if we want this process to be seamless. > * I think we should investigate having the vscode config generated from > meson rather than the other way around. It didn't occur to me that it was possible, it sounds like that's really the way to go! > Strictly speaking, yes. However, in my experience using eclipse as an IDE > in the past it doesn't matter that much which or how many build directories > are analysed. However, vscode may well be different in this regard. Unless the user does *wildly* different things in their build directories (i.e. two dirs, one of which used for cross-build or something), I expect things to work without any additional effort, so you're right in that for most practical purposes, the result wouldn't really be different to having "proper" C++ analysis configurations. > Since I don't ever envisage myself doing everything always through vscode, > I'm happy enough with vscode managing a single build directory, and I can > manually worry about a second build directory myself. Maybe let's park the > multi-build-dir stuff for now, unless others feel that it's something they > need. Well, I do strive to do most things with VSCode (that's why I had multiple configurations to begin with!), so it would benefit *my* workflow to support that :) -- Thanks, Anatoly