IPPcode/IFJcode 0.2.6
IPPcode和IFJcode扩展:Visual Studio Code的强大工具
IPPcode和IFJcode扩展为Visual Studio Code用户提供了丰富的功能,包括语法高亮、解释和调试,适用于IFJcode 2020-24和IPPcode 2020/21/22版本。这些扩展旨在简化编程过程,提高开发效率。
依赖:
- 需要Visual Studio Code 1.49.0或更高版本
- Python 3(已测试从3.6.9版本开始,但可能适用于更低版本)
- 预设Python解释器通过命令“python”启动,如需使用其他别名或路径,请在扩展设置或调试配置中进行调整
- 使用VS Code的默认集成终端进行调试和解释
警告:
此扩展为辅助工具,旨在简化IFJcode和IPPcode的使用。它不作为官方参考解决方案,解释器/调试器的行为不应视为官方定义。官方项目要求和行为定义请参考相应年份的IPP/IFJ项目说明书。此外,严禁从扩展的解释器和其它组件中复制代码,违反此规定将被视为 plagiarismus。
功能详情:
文件检测
扩展为IPPcode和IFJcode提供了语法定义,帮助VS Code实现语法高亮。文件检测通过文件扩展名进行(如.ifjc, .ifjcode,及带版本号的.ifjc24等,IPPcode同理.ippc...)。文件也可以通过首行标识(例如.IPPcode22)进行识别,需确保该文本位于文件首行。对于其他扩展名的文件,可以通过右下角的语言选择菜单(通常显示为Plain Text)手动关联语言。
调试器
扩展增加了ippc-ifjc调试类型,允许在launch.json文件中创建标准配置。如果当前打开的文件被识别为支持的语言,右上角的工具栏会出现运行和调试按钮,点击这些按钮将使用扩展的预设配置启动程序。
变量值设置
在VARIABLES部分,可以修改变量或栈上的值。新值应以源代码中相同的格式输入,即类型@值。
指令评估
在调试过程中,可以使用DEBUG CONSOLE评估额外的指令。程序需暂停(如在断点处或通过暂停按钮)。调试控制台支持除READ、LABEL和EXIT之外的所有指令,指令输出重定向到控制台,其行为与源代码中的指令相同,并影响正在调试的程序。控制台中的指令评估错误不会导致程序终止。
新增命令:
扩展为Command Palette(快捷键Ctrl Shift P)添加了三种命令。运行和调试命令适用于所有语言,而IPPcode的运行(XML)命令仅适用于IPPcode。当前文件的语言决定了工具栏按钮触发的命令类型。命令本身不受当前文件语言的影响。
- IFJcodeXX: 运行:运行当前打开的文件
- IPPcodeXX: 运行(XML):以XML格式运行当前IPPcode文件
- IFJcodeXX: 调试:启动当前文件的调试
调试配置:
每个配置都需要包含type、request和name三个基本字段,以及program字段。
- request: 调试连接方式,仅支持launch(启动)
- name: 配置名称,自定义
- type: 调试类型,为此扩展设定为ippc-ifjc
- program: 要运行的程序文件
- stopOnEntry: 程序启动后立即在第一条指令处暂停
- args: 调试程序的参数,仅支持["--input", "<文件名>"]
- port: 设置调试服务器的默认端口
- pythonPath: Python 3解释器的路径
- version: 要运行/调试的IPPcode/IFJcode版本(默认IFJcode24)
设置:
扩展设置位于VS Code设置中的IPPcode/IFJcode键下。这些设置会影响默认行为,但优先级低于调试配置。设置项与调试配置中的同名字段意义相同。
- Port
- Python Path
- Version
- IFJcode Interpreter Path: IFJcode参考解释器的路径(若未设置,则使用Python实现进行解释)
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- MySQL数据管理之备份恢复案例解析视频教程
- 《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
- 160次学习
-
- MySQL索引优化解决方案
- 本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
- 182次学习
-
- 极客学院Docker视频教程
- Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
- 243次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 127次学习
-
- JavaScript极速入门
- 本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
- 431次学习
-
- Golangmap实践及实现原理解析
- 2022-12-28 505浏览
-
- GoLand调式动态执行代码
- 2023-01-13 502浏览
-
- 试了下Golang实现try catch的方法
- 2022-12-27 502浏览
-
- 用Nginx反向代理部署go写的网站。
- 2023-01-17 502浏览
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览