![SageMath Enhanced for VS Code](https://static-img.0xffff.one/6lt1wIvFRPXZQ1zhzYUD97-sB2gD9iwa2F5qpPDUZtg/q:90/w:800/rt:fit/aHR0cHM6Ly9naXRo/dWIuY29tL24tV04v/c2FnZW1hdGgtdnNj/b2RlLWVuaGFuY2Vk/L3Jhdy9tYWluL2lt/YWdlcy9ncHRHZW5J/Y29uLnBuZw.jpg?.jpg)
SageMath Enhanced for VS Code
![License](https://static-img.0xffff.one/7ucrDrvgDeCiqqfSVzVAluUMCJkY5IwY2DDkmJ79tRs/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby9i/YWRnZS9saWNlbnNl/LUFHUEwtLTMuMC1i/bHVl?.jpg)
![GitHub issues](https://static-img.0xffff.one/XDetxoQFAHr-iY31JTP2Tjh98SP-_S6bZrcnw4kmdMc/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby9n/aXRodWIvaXNzdWVz/L24tV04vc2FnZW1h/dGgtdnNjb2RlLWVu/aGFuY2Vk?.jpg)
![GitHub languages](https://static-img.0xffff.one/_GTIxVgQYfL8IlINMpx7dhhy_x_03F6ND8eUOnCutgg/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby9n/aXRodWIvbGFuZ3Vh/Z2VzL2NvdW50L24t/V04vc2FnZW1hdGgt/dnNjb2RlLWVuaGFu/Y2Vk?.jpg)
![last commit](https://static-img.0xffff.one/KSbtLvtOFsI_bF292DeKoKlkn2hhZj6hOpXS-2CmGDE/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby9n/aXRodWIvbGFzdC1j/b21taXQvbi1XTi9z/YWdlbWF0aC12c2Nv/ZGUtZW5oYW5jZWQ?.jpg)
![visual-studio-marketplace-last-updated](https://static-img.0xffff.one/0tZyC1cc0yE2C9-ayhT_vbqWJgCvTtYl9j-a88QBCh0/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby92/aXN1YWwtc3R1ZGlv/LW1hcmtldHBsYWNl/L2xhc3QtdXBkYXRl/ZC9Mb3YzLnNhZ2Vt/YXRoLWVuaGFuY2Vk?.jpg)
![GitHub forks](https://static-img.0xffff.one/akhKHLxjWXHDSs4UfkVSxOuEzvTPEScTGsBxrqB84Nw/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby9n/aXRodWIvZm9ya3Mv/bi1XTi9zYWdlbWF0/aC12c2NvZGUtZW5o/YW5jZWQ?.jpg)
![GitHub stars](https://static-img.0xffff.one/KfGrQaq1op0q-Ay1z6FlhlCmzcVXj72_aND67zHJhkw/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby9n/aXRodWIvc3RhcnMv/bi1XTi9zYWdlbWF0/aC12c2NvZGUtZW5o/YW5jZWQ?.jpg)
![languages-top](https://static-img.0xffff.one/KQ04KmPqKpzk8tO1LRbh7-0OAJ9g5cmlK9WRkCNJliw/q:90/w:800/rt:fit/aHR0cHM6Ly9pbWcu/c2hpZWxkcy5pby9n/aXRodWIvbGFuZ3Vh/Z2VzL3RvcC9uLVdO/L3NhZ2VtYXRoLXZz/Y29kZS1lbmhhbmNl/ZD9zdHlsZT1zb2Np/YWw?.jpg)
使用SageMath Enhanced扩展增强您在Visual Studio Code中的SageMath编程体验。此扩展提供高级功能和集成,使在VS Code中使用SageMath变得更加简单高效。
特性
- 运行SageMath代码:只需简单点击即可直接从编辑器执行
.sage
文件。
- 语法高亮:享受为SageMath特定操作和函数量身定做的增强语法高亮。
- 集成终端:直接在VS Code的集成终端中与SageMath交互。
- 自动
.sage.py
文件清理:运行SageMath脚本后自动删除临时生成的.sage.py
文件,保持您的工作空间整洁。
- WSL支持(修复中):对于Windows用户,可在Windows子系统Linux(WSL)内运行SageMath脚本,以提高兼容性和性能。
![运行SageMath文件按钮](https://static-img.0xffff.one/3Pz339WVNGlGlenimbsz7opbcKW6t9aeiMecEjv1UAA/q:90/w:800/rt:fit/aHR0cHM6Ly9naXRo/dWIuY29tL24tV04v/c2FnZW1hdGgtdnNj/b2RlLWVuaGFuY2Vk/L2Jsb2IvbWFpbi9p/bWFnZXMvc3RhcnQu/cG5n.jpg?.jpg)
👆🏻 运行 SageMath 文件按钮的屏幕截图,👇🏻 演示视频(下载或打开 Github 仓库在线观看)
https://github.com/n-WN/sagemath-vscode-enhanced/assets/30841158/2a8d5cea-8c21-4886-8e18-b48893691fe4
快速开始
- 安装:从VS Code Marketplace安装SageMath Enhanced扩展。
- 打开Sage文件:在VS Code中打开任何
.sage
文件或创建一个新文件。
- 运行代码:使用命令面板(
Ctrl+Shift+P
/ Cmd+Shift+P
),键入Run SageMath File
来执行您的脚本。
- 查看输出:检查集成终端中的脚本输出和任何错误消息。
安装
按照以下步骤安装SageMath Enhanced扩展:
- 启动VS Code。
- 按
Ctrl+P
(在macOS上为Cmd+P
)打开快速打开对话框。
- 键入
ext install sagemath-enhanced
并按Enter键。
- 在搜索结果中找到SageMath Enhanced扩展并点击
Install
按钮。
使用
使用SageMath Enhanced扩展简单直观,为SageMath编码提供无缝体验。
打开和运行SageMath文件
- 打开Sage文件:在VS Code中打开您的
.sage
文件,或通过选择File > New File
并以.sage
扩展名保存来创建一个新文件。
- 运行代码:一旦
.sage
文件在编辑器中打开,您会在编辑器标题栏中注意到一个Run SageMath File按钮(▶️图标)。点击此按钮将执行当前活动的.sage
文件中的SageMath代码。
- 自动清理:如果在扩展设置中启用,执行期间生成的临时
.sage.py
文件将在脚本运行结束后自动删除。
- WSL支持:如果您使用的是Windows并安装了WSL,该扩展可以在WSL中运行SageMath脚本以增强兼容性。
查看输出
- 集成终端:您的SageMath脚本输出以及任何错误或警告将显示在VS Code的集成终端中。这允许轻松调试和与您的代码交互。
要求
贡献
我们欢迎对SageMath Enhanced扩展的贡献。以下是您可以贡献的方式:
- 在GitHub上分叉仓库。您可以在sagemath-vscode-enhanced找到该仓库。
- 为
您的功能创建一个新分支(git checkout -b feature/YourFeature
)。
- 提交您的更改(
git commit -am 'Add some YourFeature'
)。
- 推送到分支(
git push origin feature/YourFeature
)。
- 在GitHub上针对
sagemath-vscode-enhanced
仓库创建一个新的Pull Request。
支持和反馈
如果您遇到任何问题或有改进建议,请在GitHub仓库上提交问题。
许可证
该项目在AGPL-3.0许可下获得授权 - 详情见LICENSE文件。
待办事项(又名"需要帮助")
- [ ] 代码补全:增强SageMath特定语法的代码补全功能。
- [ ] 交互式绘图:在VS Code内启用交互式SageMath绘图的渲染。
- [ ] 文档集成:通过悬停提示直接提供对SageMath文档的访问。
- [ ] 性能优化:改善扩展的启动时间和响应速度。
- [ ] 自定义设置:引入设置以根据用户偏好自定义扩展的行为。
- [ ] 错误高亮:为语法错误和计算异常提供即时反馈,以简化编码过程。
- [ ] 缩进和自动补全:当前,可能存在缩进快捷键问题,以及无法自动补全括号和引号。这些高级编辑功能可能需要实现或集成语言服务器支持。
致谢
此项目前后占用时间不到 12h,解决了一个临时的痛点(Sagemath 在 VS Code 上不能一键运行,且无语法高亮),继续去学考试科目了,考完试再回来研究语言服务器,实现完美的支持,Bye~