Fix "Still can't run" issue with SageMath installation detection and user guidance #41
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
This PR addresses the issue where users encounter cryptic errors when trying to run SageMath files without having SageMath properly installed or configured. The Chinese issue title "还是不能运行" translates to "Still can't run", indicating users were unable to execute SageMath code through the extension.
Problem
Previously, when users tried to run
.sage
files without SageMath installed, they would encounter:Solution
This PR implements a comprehensive SageMath detection and user guidance system:
1. Proactive SageMath Detection
checkSageMathAvailability()
function that verifies SageMath installation usingwhich
/where
commandssage --version
2. Enhanced Run Command Protection
3. User-Friendly Error Messages
When SageMath is not found, users now get a clear dialog with:
4. Activation Guidance
sagemathEnhanced.dontShowSageWarning
setting5. Comprehensive Documentation
Technical Implementation
Testing
The extension now provides a much better user experience by guiding users through SageMath installation and configuration instead of leaving them with unclear error messages.
Fixes #40.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.