北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 755|回复: 5

[Paotin++ on VS Code] 一键生成paotin代码片段(自动补全)

[复制链接]
发表于 2024-9-6 20:06:45 | 显示全部楼层 |阅读模式
本帖最后由 zjianz 于 2024-9-6 10:00 PM 编辑

这个帖子教大家怎么利用Paotin++强大的文档注释来自动生成代码片段。


什么是代码片段
代码片段(Code snippets)是一些模板,可以更轻松地输入重复的代码模式,例如循环或条件语句。简单说就是自动补全。


在VS Code中,除了从扩展中获取以外,还可以可以自己配置代码片段,从而实现对常用别名、函数的自动补全功能。

为了配置,首先需要从vscode扩展商店里安装tintin++扩展,它提供了对.tin文件的识别以及对tintin++原生功能的自动补全和高亮功能。


然后就可以生成并配置代码片段了:
  • 使用vs code打开my-paotin文件夹(当然也可以是别的你用来编辑pt脚本的文件夹)
  • 使用Ctrl+Shift+P打开命令面板,输入>Preferences: Configure User Snippets,选择新建"my-paotin"文件夹的代码片段文件
  • 这时候vs code会创建.vscode/xxx.code-snippets 配置文件

配置文件里用注释给了你一个例子:
  1. "Print to console": {
  2.     "scope": "javascript,typescript",
  3.     "prefix": "log",
  4.     "body": [
  5.         "console.log('$1');",
  6.         "$2"
  7.     ],
  8.     "description": "Log output to console"
  9. }
复制代码
可以看出一个代码片段主要由这几部分组成:
  • key: 例子里的"Print to console",用来标识代码片段,没有实际意义,唯一的要求就是不能与其它代码片段的key撞车
  • scope:标识了该代码片段会在哪些语言文件内生效。对于pt脚本,其scope为"tintin",如果你没有打tintin++插件的话是不能起效的
  • prefix:触发此代码片段的关键词
  • body: 此代码片段的模板内容
  • description: 代码片段的描述,一般包含了对它用法的讲解



知道了这些内容,我们就可以自己把paotin++的各种关键词写进去,从而实现自动补全了。不过你先别急着录,我们有更加简单的办法。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2024-9-6 20:06:46 | 显示全部楼层
本帖最后由 zjianz 于 2024-9-6 08:03 PM 编辑

Paotin++的文档注释功能
相信很多人都用过paotin++的 HELP 功能,它其实就是基于paotin的文档化注释实现的(参考 HELP Doc)
对于paotin++内置的每一个别名和函数,基本都存在标准的文档化注释,标记出了它的用法以及需要的参数



不难想到,我们只要对文档化注释进行一定的格式化处理,就可以自动生成代码片段配置文件了。我自己写了一个格式化的脚本放在了附件里,使用起来非常简单:
  • 打开pt,启动北大侠客行,等待游戏导入内置模块,你也可以在这一步导入自己常用的模块,只要有按照标准格式写好文档,都可以生成对应的snippet;
  • 导入脚本 LM snippets
  • 在my-paotin文件夹下会出现一个 look-at-this.json 文件,里面就是导出的配置文件。将其全部复制并完全替换掉之前的 .vscode/xxx.code-snippets 文件,就完成了配置。
  • look-at-this.json 文件没有作用,可以手动删掉,不然会影响下次导出配置文件。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-9-6 20:49:46 | 显示全部楼层
我设计文档化注释的时候,没想过你们还会这么玩。
这下看来不是八合一而是十合一了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-9-7 02:22:43 | 显示全部楼层
3.141兄这个脚本意义非凡,太厉害了  
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-9-11 12:27:15 | 显示全部楼层
牛牛牛
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2024-9-12 11:01:21 | 显示全部楼层
确实,好用到飞起
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-23 08:19 PM , Processed in 0.012897 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表