From 836e7424ce1ef9f53a9d2bb022308704a7643d4f Mon Sep 17 00:00:00 2001 From: Julia Silge Date: Thu, 20 Feb 2025 19:32:35 -0700 Subject: [PATCH] Add new `r.packageTestExplorer` command --- extensions/positron-r/package.json | 12 +++++++++++- extensions/positron-r/package.nls.json | 3 ++- extensions/positron-r/src/commands.ts | 9 ++++++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/extensions/positron-r/package.json b/extensions/positron-r/package.json index 5b2d2e376e5..f3b72a579f9 100644 --- a/extensions/positron-r/package.json +++ b/extensions/positron-r/package.json @@ -87,6 +87,11 @@ "title": "%r.command.packageTest.title%", "shortTitle": "%r.menu.packageTest.title%" }, + { + "command": "r.packageTestExplorer", + "category": "R", + "title": "%r.command.packageTestExplorer.title%" + }, { "command": "r.useTestthat", "category": "R", @@ -415,7 +420,7 @@ "when": "isRPackage" }, { - "command": "r.packageTest", + "command": "r.packageTestExplorer", "key": "ctrl+shift+t", "mac": "cmd+shift+t", "when": "isRPackage" @@ -520,6 +525,11 @@ "command": "r.packageTest", "when": "isRPackage" }, + { + "category": "R", + "command": "r.packageTestExplorer", + "when": "isRPackage" + }, { "category": "R", "command": "r.packageCheck", diff --git a/extensions/positron-r/package.nls.json b/extensions/positron-r/package.nls.json index 4c44687b1a2..997de6ae394 100644 --- a/extensions/positron-r/package.nls.json +++ b/extensions/positron-r/package.nls.json @@ -12,7 +12,8 @@ "r.command.insertSection.title": "Insert a new section", "r.command.packageBuild.title": "Build R Package", "r.command.packageInstall.title": "Install R Package and Restart R", - "r.command.packageTest.title": "Test R Package", + "r.command.packageTest.title": "Test R Package in Terminal", + "r.command.packageTestExplorer.title": "Test R Package in Test Explorer", "r.command.useTestthat.title": "Configure testthat", "r.command.useTest.title": "Add (or visit) a test file", "r.command.packageCheck.title": "Check R Package", diff --git a/extensions/positron-r/src/commands.ts b/extensions/positron-r/src/commands.ts index 07c90ce39d7..b598f4691b7 100644 --- a/extensions/positron-r/src/commands.ts +++ b/extensions/positron-r/src/commands.ts @@ -5,7 +5,7 @@ import * as vscode from 'vscode'; import * as positron from 'positron'; -import { PromiseHandles, timeout } from './util'; +import { PromiseHandles, delay } from './util'; import { checkInstalled } from './session'; import { getRPackageName } from './contexts'; import { getRPackageTasks } from './tasks'; @@ -126,6 +126,13 @@ export async function registerCommands(context: vscode.ExtensionContext, runtime } }), + vscode.commands.registerCommand('r.packageTestExplorer', async () => { + vscode.commands.executeCommand('workbench.view.testing.focus'); + // Wait for the test explorer to set up before running tests + await delay(500); + vscode.commands.executeCommand('testing.runAll'); + }), + vscode.commands.registerCommand('r.useTestthat', async () => { executeCodeForCommand('usethis', 'usethis::use_testthat()'); }),