- Move "Add to Context" to the top of submenu and code actions for improved accessibility
- Add line number tracking (startLine/endLine) to EditorContext and code actions
- Update templates in support-prompt.ts to include line numbers in file references
- Ensure backward compatibility with existing code
This change improves the UX by making the frequently used "Add to Context" action more accessible and enhances context awareness by tracking and displaying line numbers for selected code.
* support project-level mcp config
* switch the toasts to English
fix test
(cherry picked from commit 26941dcaae)
* add i18n for project mcp
(cherry picked from commit 792a8225c1)
* optimize McpHub.ts
* fix merge main into head
* fix project mcp
* partial update mcp config
* fix toggleToolAlwaysAllow
* Modify mcp to support project and global of the same name
* fix ut
* remove unused mcp log
* i18n for mcp
* Revert README changes
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* feat: add pinning functionality for API configurations
Added the ability to pin/unpin API configurations, enabling prioritized appearance in dropdown menus.
- modified state management to support storing pinned configurations persistently.
- Updated UI components to display and toggle pin states
- Adjusted backend handling for syncing pinned configuration states across sessions.
* refactor: add support for loading API configurations by ID
- Introduced a new method `loadConfigById` in `ConfigManager` to load API configurations using their unique ID.
- Refactored the dropdown and pin logic to work with ID
- Added tests to verify the new functionality for loading configurations by ID.
* fix: preserve existing API config ID on updates
- Ensure that the existing ID is retained when updating an API config.
- Prevents unintentional ID changes during configuration updates.
* Fix theme issues
---------
Co-authored-by: james <james@systemslogiq.com>
Co-authored-by: cte <cestreich@gmail.com>
* Code for new fetch_instructions tool
* Call parameter for fetch_instructions task, not text
* Additional places that fetch_instructions needs to be added.
* Pass necessary objects into create MCP server code
* Update snapshots to reflect changes to prompts
* Fixes from testing
* Move guidance on creating project modes to fetchable instructions
* i18n for new prompt
Translations suggested by Roo.
* Missing translation
* Another missing i18n update
* Missing Catalan translation
* Re-use content parameter on ClineSayTool
* Remove space from zh-TW translation
This is consistent with other translations
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* PR review - suggested changes to prompts
* Slightly more conservative in terms of text pruning from default prompt
* Move additional detail about mode creation into fetch_instructions instructions
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Replace hardcoded custom modes filename with GlobalFileNames constant
* Remove 'cline' prefix from mcpSettings filename
* Use GlobalFileNames.customModes in modes.ts
* replace two more `cline_mcp_settings` with `mcp_settings` in tests.
* feat: add settings file migration for new file naming convention
- Implement migrateSettings function to rename legacy settings files to new format
- Migrate cline_custom_modes.json to new custom modes filename
- Migrate cline_mcp_settings.json to new MCP settings filename
- Add TODO to remove migration code in September 2025 (6 months after implementation)
- Make activate function async to support migration on startup
* Add associated changeset
* removed unused import
* refactor: move migrateSettings to dedicated utility file
- Extract migrateSettings function from extension.ts to src/utils/migrateSettings.ts
- Update extension.ts to import and use the extracted function
- Update tests to use the real implementation
- Improve dependency injection by passing outputChannel as parameter
- Enhance maintainability by isolating temporary migration code (to be removed Sept 2025)
* Update src/extension.ts
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* feat: Add the openAiR1FormatEnabled field to enable this switch in OpenAI compatible mode to support the current QWQ and future additional classes of R1 models.
* feat: Add the openAiR1FormatEnabled field to enable this switch in OpenAI compatible mode to support the current QWQ and future additional classes of R1 models.
* fix: add miss i18n
* fix: add miss i18n
* fix: remove the redundant call
---------
Co-authored-by: xiong <yueminxiong.xym@alibaba-inc.com>
* Add Requesty OAuth flow
* New 1-click onboarding flow
* Requesty: Use correct default model info
* When called from the onboard flow, created the default profile
Glama OAuth handler changed for consistency.
* Add router images
* Shuffle the routers
* Translate
* Appease knip
---------
Co-authored-by: Daniel Trugman <dtrugman@gmail.com>
* feat read file range
feat: add file truncation with code structure preview
Add configurable line limit for large file handling with source code structure preview. This improves performance and memory usage while maintaining code readability.
Key changes:
Add maxReadFileLine setting (default: 4500) with UI controls
Create efficient line counter utility using streams
Add parseSourceCodeDefinitionsForFile for single file parsing
Show truncation notice with code structure for large files
Add comprehensive tests for new functionality
Move file extensions to shared constant
add line number
pr comment
Return definition ranges from tree-sitter
make treesitter always add line
add line number to rg search
enhance tree siter output & fix test
update snapshot
fix test
* Add translations, tweak range
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* batch clear history
* catch Task not found error
* fix deleteMultipleTasksWithIds
* add i18n for batch clear history
* add i18n for history
* debug
* remove unused logs
* fix trans
* fix trans
* Cleanup
---------
Co-authored-by: aheizi <aheiz@outlook.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* fix: clarify PowerShell command completion workaround
The command completion detection approach in PowerShell requires an output
string to allow duplicate commands to execute in some versions of code.
Update the string to explicitly indicate it is a Roo PowerShell workaround,
making it clear in terminal output that this is intentional behavior rather
than a side effect.
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
* cleanup: improve terminal logging and error handling
No functional changes - purely improves error handling and logging clarity.
Terminal.ts:
- Handle undefined process state in setActiveStream without throwing
- Add terminal IDs to all log messages for better traceability
- Improve error message clarity in shell integration timeout
TerminalRegistry.ts:
- Reorganize shell execution event handlers for better flow
- Log shell execution events before processing for reliable debugging
- Add detailed context to terminal not found scenarios
- Include command and execution state in error messages
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
* feat: make terminal shell integration timeout configurable
Users with long shell startup times were encountering "Shell Integration Unavailable" errors due to the hard-coded 4s timeout. The timeout is now configurable through Advanced Settings (1-60s).
Thanks @filthy for troubleshooting and @kiwina for suggesting making the timeout configurable.
Fixes#1654
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
* critical fix: race condition that prevents command completion
Terminal running state is now managed in TerminalRegistry instead of Terminal to prevent race between stream close and shell completion.
While this race may not trigger on current VSCode versions, newer releases with additional terminal fixes may expose the issue. This proactively prevents "Shell execution end event received, but process is not running" errors.
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
* fix: improve command execution path reporting
Enhance clarity of command execution context and error reporting:
- Check to see if the directory changed because of the command
- Clarify execution path message
- Add explicit message when command exits with non-zero code
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
* system instructions: clarify terminal directory operations
Clear guidance for the AI system on:
- Working directory constraints
- Path handling requirements
- Tool vs terminal directory behavior
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
* test: update snapshots for system prompt working directory instructions
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
---------
Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Chris Estreich <cestreich@gmail.com>
* Add text-to-speech functionality
* Add speed config option to text-to-speech
* Fix test case for tts speed slider
* Fix test case for tts speed slider (really)
* Disabled error message logging in tts.ts
* ignore markdown and mermaid diagrams in TTS
* add ttsEnabled and ttsSpeed to GlobalStateKey
* fix failing webview test for save button
* Translations
* Fix tests
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>