Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion e2e/src/suite/subtasks.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { ClineMessage } from "../../../src/exports/roo-code"

import { sleep, waitFor, waitUntilCompleted } from "./utils"

suite("Roo Code Subtasks", () => {
suite.skip("Roo Code Subtasks", () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid leaving tests permanently skipped unless strictly necessary. If skipping is temporary, please add a comment explaining why and a TODO to re-enable the test.

test("Should handle subtask cancellation and resumption correctly", async () => {
const api = globalThis.api

Expand Down
24 changes: 1 addition & 23 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -160,16 +160,6 @@
"title": "%command.terminal.explainCommand.title%",
"category": "Terminal"
},
{
"command": "roo-cline.terminalFixCommandInCurrentTask",
"title": "%command.terminal.fixCommandInCurrentTask.title%",
"category": "Terminal"
},
{
"command": "roo-cline.terminalExplainCommandInCurrentTask",
"title": "%command.terminal.explainCommandInCurrentTask.title%",
"category": "Terminal"
},
{
"command": "roo-cline.setCustomStoragePath",
"title": "%command.setCustomStoragePath.title%",
Expand Down Expand Up @@ -202,13 +192,9 @@
"command": "roo-cline.explainCode",
"group": "1_actions@2"
},
{
"command": "roo-cline.fixCode",
"group": "1_actions@3"
},
{
"command": "roo-cline.improveCode",
"group": "1_actions@4"
"group": "1_actions@3"
}
],
"terminal/context": [
Expand All @@ -229,14 +215,6 @@
{
"command": "roo-cline.terminalExplainCommand",
"group": "1_actions@3"
},
{
"command": "roo-cline.terminalFixCommandInCurrentTask",
"group": "1_actions@5"
},
{
"command": "roo-cline.terminalExplainCommandInCurrentTask",
"group": "1_actions@6"
}
],
"view/title": [
Expand Down
2 changes: 0 additions & 2 deletions package.nls.ca.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Afegir Contingut del Terminal al Context",
"command.terminal.fixCommand.title": "Corregir Aquesta Ordre",
"command.terminal.explainCommand.title": "Explicar Aquesta Ordre",
"command.terminal.fixCommandInCurrentTask.title": "Corregir Aquesta Ordre (Tasca Actual)",
"command.terminal.explainCommandInCurrentTask.title": "Explicar Aquesta Ordre (Tasca Actual)",
"command.acceptInput.title": "Acceptar Entrada/Suggeriment",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.de.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Terminal-Inhalt zum Kontext Hinzufügen",
"command.terminal.fixCommand.title": "Diesen Befehl Reparieren",
"command.terminal.explainCommand.title": "Diesen Befehl Erklären",
"command.terminal.fixCommandInCurrentTask.title": "Diesen Befehl Reparieren (Aktuelle Aufgabe)",
"command.terminal.explainCommandInCurrentTask.title": "Diesen Befehl Erklären (Aktuelle Aufgabe)",
"command.acceptInput.title": "Eingabe/Vorschlag Akzeptieren",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.es.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Añadir Contenido de Terminal al Contexto",
"command.terminal.fixCommand.title": "Corregir Este Comando",
"command.terminal.explainCommand.title": "Explicar Este Comando",
"command.terminal.fixCommandInCurrentTask.title": "Corregir Este Comando (Tarea Actual)",
"command.terminal.explainCommandInCurrentTask.title": "Explicar Este Comando (Tarea Actual)",
"command.acceptInput.title": "Aceptar Entrada/Sugerencia",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Ajouter le Contenu du Terminal au Contexte",
"command.terminal.fixCommand.title": "Corriger cette Commande",
"command.terminal.explainCommand.title": "Expliquer cette Commande",
"command.terminal.fixCommandInCurrentTask.title": "Corriger cette Commande (Tâche Actuelle)",
"command.terminal.explainCommandInCurrentTask.title": "Expliquer cette Commande (Tâche Actuelle)",
"command.acceptInput.title": "Accepter l'Entrée/Suggestion",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "टर्मिनल सामग्री को संदर्भ में जोड़ें",
"command.terminal.fixCommand.title": "यह कमांड ठीक करें",
"command.terminal.explainCommand.title": "यह कमांड समझाएं",
"command.terminal.fixCommandInCurrentTask.title": "यह कमांड ठीक करें (वर्तमान कार्य)",
"command.terminal.explainCommandInCurrentTask.title": "यह कमांड समझाएं (वर्तमान कार्य)",
"command.acceptInput.title": "इनपुट/सुझाव स्वीकारें",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.it.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Aggiungi Contenuto del Terminale al Contesto",
"command.terminal.fixCommand.title": "Correggi Questo Comando",
"command.terminal.explainCommand.title": "Spiega Questo Comando",
"command.terminal.fixCommandInCurrentTask.title": "Correggi Questo Comando (Task Corrente)",
"command.terminal.explainCommandInCurrentTask.title": "Spiega Questo Comando (Task Corrente)",
"command.acceptInput.title": "Accetta Input/Suggerimento",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
"command.terminal.addToContext.title": "ターミナルの内容をコンテキストに追加",
"command.terminal.fixCommand.title": "このコマンドを修正",
"command.terminal.explainCommand.title": "このコマンドを説明",
"command.terminal.fixCommandInCurrentTask.title": "このコマンドを修正(現在のタスク)",
"command.terminal.explainCommandInCurrentTask.title": "このコマンドを説明(現在のタスク)",
"command.acceptInput.title": "入力/提案を承認",
"configuration.title": "Roo Code",
"commands.allowedCommands.description": "'常に実行操作を承認する'が有効な場合に自動実行できるコマンド",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
"command.terminal.addToContext.title": "Add Terminal Content to Context",
"command.terminal.fixCommand.title": "Fix This Command",
"command.terminal.explainCommand.title": "Explain This Command",
"command.terminal.fixCommandInCurrentTask.title": "Fix This Command (Current Task)",
"command.terminal.explainCommandInCurrentTask.title": "Explain This Command (Current Task)",
"command.acceptInput.title": "Accept Input/Suggestion",
"configuration.title": "Roo Code",
"commands.allowedCommands.description": "Commands that can be auto-executed when 'Always approve execute operations' is enabled",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "터미널 내용을 컨텍스트에 추가",
"command.terminal.fixCommand.title": "이 명령어 수정",
"command.terminal.explainCommand.title": "이 명령어 설명",
"command.terminal.fixCommandInCurrentTask.title": "이 명령어 수정 (현재 작업)",
"command.terminal.explainCommandInCurrentTask.title": "이 명령어 설명 (현재 작업)",
"command.acceptInput.title": "입력/제안 수락",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Dodaj Zawartość Terminala do Kontekstu",
"command.terminal.fixCommand.title": "Napraw tę Komendę",
"command.terminal.explainCommand.title": "Wyjaśnij tę Komendę",
"command.terminal.fixCommandInCurrentTask.title": "Napraw tę Komendę (Bieżące Zadanie)",
"command.terminal.explainCommandInCurrentTask.title": "Wyjaśnij tę Komendę (Bieżące Zadanie)",
"command.acceptInput.title": "Akceptuj Wprowadzanie/Sugestię",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.pt-BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Adicionar Conteúdo do Terminal ao Contexto",
"command.terminal.fixCommand.title": "Corrigir Este Comando",
"command.terminal.explainCommand.title": "Explicar Este Comando",
"command.terminal.fixCommandInCurrentTask.title": "Corrigir Este Comando (Tarefa Atual)",
"command.terminal.explainCommandInCurrentTask.title": "Explicar Este Comando (Tarefa Atual)",
"command.acceptInput.title": "Aceitar Entrada/Sugestão",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
"command.terminal.addToContext.title": "Добавить содержимое терминала в контекст",
"command.terminal.fixCommand.title": "Исправить эту команду",
"command.terminal.explainCommand.title": "Объяснить эту команду",
"command.terminal.fixCommandInCurrentTask.title": "Исправить эту команду (текущая задача)",
"command.terminal.explainCommandInCurrentTask.title": "Объяснить эту команду (текущая задача)",
"command.acceptInput.title": "Принять ввод/предложение",
"configuration.title": "Roo Code",
"commands.allowedCommands.description": "Команды, которые могут быть автоматически выполнены, когда включена опция 'Всегда подтверждать операции выполнения'",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Terminal İçeriğini Bağlama Ekle",
"command.terminal.fixCommand.title": "Bu Komutu Düzelt",
"command.terminal.explainCommand.title": "Bu Komutu Açıkla",
"command.terminal.fixCommandInCurrentTask.title": "Bu Komutu Düzelt (Mevcut Görev)",
"command.terminal.explainCommandInCurrentTask.title": "Bu Komutu Açıkla (Mevcut Görev)",
"command.acceptInput.title": "Girişi/Öneriyi Kabul Et",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.vi.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "Thêm Nội Dung Terminal vào Ngữ Cảnh",
"command.terminal.fixCommand.title": "Sửa Lệnh Này",
"command.terminal.explainCommand.title": "Giải Thích Lệnh Này",
"command.terminal.fixCommandInCurrentTask.title": "Sửa Lệnh Này (Tác Vụ Hiện Tại)",
"command.terminal.explainCommandInCurrentTask.title": "Giải Thích Lệnh Này (Tác Vụ Hiện Tại)",
"command.acceptInput.title": "Chấp Nhận Đầu Vào/Gợi Ý",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "将终端内容添加到上下文",
"command.terminal.fixCommand.title": "修复此命令",
"command.terminal.explainCommand.title": "解释此命令",
"command.terminal.fixCommandInCurrentTask.title": "修复此命令(当前任务)",
"command.terminal.explainCommandInCurrentTask.title": "解释此命令(当前任务)",
"command.acceptInput.title": "接受输入/建议",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
2 changes: 0 additions & 2 deletions package.nls.zh-TW.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"command.terminal.addToContext.title": "將終端內容添加到上下文",
"command.terminal.fixCommand.title": "修復此命令",
"command.terminal.explainCommand.title": "解釋此命令",
"command.terminal.fixCommandInCurrentTask.title": "修復此命令(當前任務)",
"command.terminal.explainCommandInCurrentTask.title": "解釋此命令(當前任務)",
"command.acceptInput.title": "接受輸入/建議",
"views.activitybar.title": "Roo Code",
"views.contextMenu.label": "Roo Code",
Expand Down
7 changes: 4 additions & 3 deletions src/activate/handleTask.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
import * as vscode from "vscode"

import { COMMAND_IDS } from "../core/CodeActionProvider"
import { ClineProvider } from "../core/webview/ClineProvider"
import { t } from "../i18n"

export const handleNewTask = async (params: { prompt?: string } | null | undefined) => {
let prompt = params?.prompt

if (!prompt) {
prompt = await vscode.window.showInputBox({
prompt: t("common:input.task_prompt"),
placeHolder: t("common:input.task_placeholder"),
})
}

if (!prompt) {
await vscode.commands.executeCommand("roo-cline.SidebarProvider.focus")
return
}

await ClineProvider.handleCodeAction(COMMAND_IDS.NEW_TASK, "NEW_TASK", {
userInput: prompt,
})
await ClineProvider.handleCodeAction(COMMAND_IDS.NEW_TASK, "NEW_TASK", { userInput: prompt })
}
64 changes: 10 additions & 54 deletions src/activate/registerCodeActions.ts
Original file line number Diff line number Diff line change
@@ -1,55 +1,21 @@
import * as vscode from "vscode"

import { ACTION_NAMES, COMMAND_IDS } from "../core/CodeActionProvider"
import { type CodeActionName, type CodeActionId, COMMAND_IDS } from "../core/CodeActionProvider"
import { EditorUtils } from "../core/EditorUtils"
import { ClineProvider } from "../core/webview/ClineProvider"

export const registerCodeActions = (context: vscode.ExtensionContext) => {
registerCodeActionPair(
context,
COMMAND_IDS.EXPLAIN,
"EXPLAIN",
"What would you like Roo to explain?",
"E.g. How does the error handling work?",
)

registerCodeActionPair(
context,
COMMAND_IDS.FIX,
"FIX",
"What would you like Roo to fix?",
"E.g. Maintain backward compatibility",
)

registerCodeActionPair(
context,
COMMAND_IDS.IMPROVE,
"IMPROVE",
"What would you like Roo to improve?",
"E.g. Focus on performance optimization",
)

registerCodeAction(context, COMMAND_IDS.EXPLAIN, "EXPLAIN")
registerCodeAction(context, COMMAND_IDS.FIX, "FIX")
registerCodeAction(context, COMMAND_IDS.IMPROVE, "IMPROVE")
registerCodeAction(context, COMMAND_IDS.ADD_TO_CONTEXT, "ADD_TO_CONTEXT")
}

const registerCodeAction = (
context: vscode.ExtensionContext,
command: string,
promptType: keyof typeof ACTION_NAMES,
inputPrompt?: string,
inputPlaceholder?: string,
) => {
const registerCodeAction = (context: vscode.ExtensionContext, command: CodeActionId, promptType: CodeActionName) => {
let userInput: string | undefined

context.subscriptions.push(
vscode.commands.registerCommand(command, async (...args: any[]) => {
if (inputPrompt) {
userInput = await vscode.window.showInputBox({
prompt: inputPrompt,
placeHolder: inputPlaceholder,
})
}

// Handle both code action and direct command cases.
let filePath: string
let selectedText: string
Expand All @@ -63,7 +29,11 @@ const registerCodeAction = (
} else {
// Called directly from command palette.
const context = EditorUtils.getEditorContext()
if (!context) return

if (!context) {
return
}

;({ filePath, selectedText, startLine, endLine, diagnostics } = context)
}

Expand All @@ -79,17 +49,3 @@ const registerCodeAction = (
}),
)
}

const registerCodeActionPair = (
context: vscode.ExtensionContext,
baseCommand: string,
promptType: keyof typeof ACTION_NAMES,
inputPrompt?: string,
inputPlaceholder?: string,
) => {
// Register new task version.
registerCodeAction(context, baseCommand, promptType, inputPrompt, inputPlaceholder)

// Register current task version.
registerCodeAction(context, `${baseCommand}InCurrentTask`, promptType, inputPrompt, inputPlaceholder)
}
37 changes: 31 additions & 6 deletions src/activate/registerCommands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,31 +66,51 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
"roo-cline.activationCompleted": () => {},
"roo-cline.plusButtonClicked": async () => {
const visibleProvider = getVisibleProviderOrLog(outputChannel)
if (!visibleProvider) return

if (!visibleProvider) {
return
}

await visibleProvider.removeClineFromStack()
await visibleProvider.postStateToWebview()
await visibleProvider.postMessageToWebview({ type: "action", action: "chatButtonClicked" })
},
"roo-cline.mcpButtonClicked": () => {
const visibleProvider = getVisibleProviderOrLog(outputChannel)
if (!visibleProvider) return

if (!visibleProvider) {
return
}

visibleProvider.postMessageToWebview({ type: "action", action: "mcpButtonClicked" })
},
"roo-cline.promptsButtonClicked": () => {
const visibleProvider = getVisibleProviderOrLog(outputChannel)
if (!visibleProvider) return

if (!visibleProvider) {
return
}

visibleProvider.postMessageToWebview({ type: "action", action: "promptsButtonClicked" })
},
"roo-cline.popoutButtonClicked": () => openClineInNewTab({ context, outputChannel }),
"roo-cline.openInNewTab": () => openClineInNewTab({ context, outputChannel }),
"roo-cline.settingsButtonClicked": () => {
const visibleProvider = getVisibleProviderOrLog(outputChannel)
if (!visibleProvider) return

if (!visibleProvider) {
return
}

visibleProvider.postMessageToWebview({ type: "action", action: "settingsButtonClicked" })
},
"roo-cline.historyButtonClicked": () => {
const visibleProvider = getVisibleProviderOrLog(outputChannel)
if (!visibleProvider) return

if (!visibleProvider) {
return
}

visibleProvider.postMessageToWebview({ type: "action", action: "historyButtonClicked" })
},
"roo-cline.helpButtonClicked": () => {
Expand Down Expand Up @@ -118,6 +138,7 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
"roo-cline.focusInput": async () => {
try {
const panel = getPanel()

if (!panel) {
await vscode.commands.executeCommand("workbench.view.extension.roo-cline-ActivityBar")
} else if (panel === tabPanel) {
Expand All @@ -132,7 +153,11 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
},
"roo.acceptInput": () => {
const visibleProvider = getVisibleProviderOrLog(outputChannel)
if (!visibleProvider) return

if (!visibleProvider) {
return
}

visibleProvider.postMessageToWebview({ type: "acceptInput" })
},
}
Expand Down
Loading