使用SageMath Enhanced扩展增强您在Visual Studio Code中的SageMath编程体验。此扩展提供高级功能和集成,使在VS Code中使用SageMath变得更加简单高效。
- 语言服务器协议 (LSP) 支持: 完整的LSP实现,提供高级语言功能
- 智能代码补全: 针对SageMath函数、类和方法的上下文感知自动补全
- 悬停文档: 悬停时即时显示文档和类型信息
- 语法高亮: 全面的SageMath特定构造语法高亮,包括:
- 环和域声明 (ZZ, QQ, RR, CC, GF等)
- 多项式环和生成元
- 数学函数和运算符
- 线性代数运算
- 绘图和可视化函数
- 数论和组合数学函数
- 密码学函数
- 图论构造
- 代码片段: 常见SageMath模式的预制代码片段
- 增强的语言配置: 改进的缩进、括号匹配和自动闭合配对
- 脚本执行: 直接从编辑器运行SageMath文件
- 自动清理: 可选择移除生成的
.sage.py文件 - WSL支持: 增强的Windows子系统Linux兼容性
- 诊断: 实时错误检测和语法验证
- 服务器管理: 重启语言服务器命令用于故障排除
运行 SageMath 文件按钮的屏幕截图(如上图所示),演示视频如下(下载或打开 Github 仓库在线观看)
Demo.mov
- 安装:从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编码提供无缝体验。
- 打开Sage文件:在VS Code中打开您的
.sage文件,或通过选择File > New File并以.sage扩展名保存来创建一个新文件。 - 运行代码:一旦
.sage文件在编辑器中打开,您会在编辑器标题栏中注意到一个Run SageMath File按钮(播放图标)。点击此按钮将执行当前活动的.sage文件中的SageMath代码。 - 自动清理:如果在扩展设置中启用,执行期间生成的临时
.sage.py文件将在脚本运行结束后自动删除。 - WSL支持:如果您使用的是Windows并安装了WSL,该扩展可以在WSL中运行SageMath脚本以增强兼容性。
- 集成终端:您的SageMath脚本输出以及任何错误或警告将显示在VS Code的集成终端中。这允许轻松调试和与您的代码交互。
- Visual Studio Code 版本 1.76.0 或更高。
- SageMath 安装并可以从命令行访问。
我们欢迎对SageMath Enhanced扩展的贡献。以下是您可以贡献的方式:
- 在GitHub上分叉仓库。您可以在sagemath-vscode-enhanced找到该仓库。
- 为
您的功能创建一个新分支(git checkout -b feature/YourFeature)。
3. 提交您的更改(git commit -am 'Add some YourFeature')。
4. 推送到分支(git push origin feature/YourFeature)。
5. 在GitHub上针对sagemath-vscode-enhanced仓库创建一个新的Pull Request。
如果您遇到任何问题或有改进建议,请在GitHub仓库上提交问题。
该项目在AGPL-3.0许可下获得授权 - 详情见LICENSE文件。
- 代码补全:通过LSP实现了SageMath特定语法的增强代码补全功能。
- 语法高亮:全面的SageMath操作和函数语法高亮。
- 错误高亮:实时诊断反馈,提供语法错误和计算异常的即时反馈。
- 语言服务器协议:完整的LSP实现,包含悬停、补全和诊断功能。
- 代码片段:常见SageMath模式的预制片段。
- 交互式绘图:在VS Code内启用交互式SageMath绘图的渲染。
- 文档集成:通过增强的悬停提示提供全面的SageMath文档访问。
- 性能优化:进一步改善扩展的启动时间和响应速度。
- 高级诊断:与SageMath深度集成进行语义错误检查。
- 重构支持:SageMath符号的代码重构功能。
- 调试支持:SageMath脚本的逐步调试。
- 笔记本集成:支持SageMath笔记本(.ipynb with SageMath kernel)。
扩展现在提供了具有适当LSP架构的坚实基础。未来的增强将专注于更深入的SageMath集成和高级IDE功能。
- 缩进和自动补全:当前,可能存在缩进快捷键问题,以及无法自动补全括号和引号。这些高级编辑功能可能需要实现或集成语言服务器支持。
- 特别感谢SageMath社区提供的宝贵资源和支持。��资源和支持。