Skip to content

Improve Scrapbook Experience (shell integration) 🚀 #66

@tnaum-ms

Description

@tnaum-ms

Improve Scrapbook Experience by Integrating Shell Execution into the DocumentDB for VS Code Extension

The Scrapbook feature currently requires an external mongosh executable to be installed on the user's machine. This approach can lead to issues when the expected version and the installed version of the shell do not match, causing inconsistencies and unexpected behavior. Instead of relying on an external dependency, we could integrate shell execution directly into the extension using the @mongosh/service-provider-core package.

By embedding shell execution within the extension, we can eliminate version mismatches and enhance reliability while maintaining feature parity with existing shell-based execution.

Additionally, while this work focuses on enhancing the Scrapbook experience, deeper shell integration could be explored in the future for interactive workflows within the extension. This could involve a fully integrated shell experience for live command execution, but such functionality would be part of a separate follow-up effort and is not within the scope of this task.

Proposed Approach:

  • Use @mongosh/service-provider-core to handle script execution within the extension itself.
  • Manage the shell internally, removing the need for users to install mongosh separately.
  • Ensure feature parity with existing shell-based execution while enhancing reliability and usability.

Benefits:

  • Simplified User Experience: No need for users to configure an external executable.
  • Cross-Platform Consistency: Works reliably regardless of the user’s environment.
  • Eliminates Version Mismatch Issues: Ensures the expected shell version is always used.

Considerations:

  • Evaluate performance and memory overhead when running the shell inside the extension.
  • Ensure compatibility with different database versions and configurations.
  • Provide an option to fall back to an external mongosh executable if needed.

This enhancement will refine the Scrapbook experience while laying the groundwork for potential future enhancements to shell integration for DocumentDB and MongoDB databases.

Metadata

Metadata

Assignees

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions