自制的第一个vscode语言扩展插件

自制的第一个vscode语言扩展插件

最近迷上了TRPG(Tabletop Role-playing game,桌上角色扮演游戏),即俗称的“跑团”。玩家在主持人的引导下,扮演自己的游戏角色进行冒险。在结束之后,会有想要将这个过程记录下来的欲望,从而有了各种各样的“跑团replay视频”。

制作跑团replay视频比较复杂,但回声工坊这一高效工具的出现,让这个过程变得非常简单,只需要找好媒体素材(角色立绘、背景图片、BGM、音效等)以及处理一下跑团Log(即跑团游戏记录)就可以很快输出一集视频。

为了更加方便跑团replay视频的制作,我编写了一个vscode插件——TRPG Replay Generator Log——来方便跑团Log的处理。

本文对编写这个插件的过程做一个记录和总结。

阅读更多

《算法笔记》C与C++语言相关

这是一篇学习笔记,基于胡凡主编的《算法笔记》的第二章“C/C++快速入门”。

在学习那一章的过程中,我将其中之后用的到的内容整理为这篇笔记,适合了解C和C++语言的人用于复习其语法中与做算法题相关的特性与技巧。

本文中部分内容经过顺序调整和补充,不完全按照原书内容。详细内容请看原书。

阅读更多
从markdown到nga bbscode的转换程序

从markdown到nga bbscode的转换程序

NGA(艾泽拉斯国家地理)论坛使用一种自定义的名为 bbscode 的代码来排版帖子内容,类似HTML,它也是一种标记语言,对bbscode的详细介绍可见:[NGA常用BBS代码][奥运帖]Project N —— 《从入门到精通:排版的艺术 Ver.3》

这种论坛自定义标记语言可以和markdown、html进行相互转换。例子如下:

1
2
3
4
5
6
7
[h]标题[/h]
[b]加粗文字[/b]
[list]
[*] 列表项
[*] 列表项
[/list]
[quote]引用块[/quote]

在使用NGA论坛的时候遇到了将markdown文本转换为bbscode的需求,所以打算用python写一个简单的转换程序。由于不涉及复杂的GUI,本项目使用tkinter来编写界面。

项目地址:

阅读更多
利用Word域代码实现将形如“图一-1”的题注修改为“图1-1”

利用Word域代码实现将形如“图一-1”的题注修改为“图1-1”

问题描述

在用word编写毕业论文时,遇到了这样一个问题:通过多级列表的设置将一级标题设置为汉字数字之后,若需要设置包含章节号的题注(形如“图1-1”)时,则会变成“图一-1”的形式。本篇文章解决的就是将形如“图一-1”的题注通过设置域代码,在不修改一级标题格式的情况下改为“图1-1”。

阅读更多

git管理的Android项目忽略密码或token的方法

在照着Android教材《第一行代码 第三版》写天气预报app项目的时候,我发现如果把开发者token写在代码里面,用git管理的时候就会把token暴露出来,即使后面删掉,也会留在commit历史中。而.gitignore一般是忽略整个文件,没办法忽略单独一行。

所以可以将密码或者开发者token单独放在一个文件中,用.gitignore忽略它,并且在使用的时候读取其中的token。

阅读更多
基于React+Electron的CraftTweaker脚本生成器

基于React+Electron的CraftTweaker脚本生成器

在看到好友StringOD的一篇博客《我的世界自定义配方脚本生成器》之后,我有了些想法。

CraftTweaker是沙盒游戏Minecraft的一个Mod(Modification,模组,游戏的一种修改或增强程序),通过使用一种名为ZenScript的自定义脚本语言,修改游戏中的合成配方。

不过这个mod的最新版本是没有对应的GUI程序的,所以要生成想要的合成配方不是那么容易,得手动编写ZenScript脚本。StringOD的那篇博客中,用易语言实现了一个功能比较完善的GUI程序——AutoSpawnZScript

恰好我在大四的第一个综合实践中使用过React+Antd来编写前端界面,而且之前用hexo-client的时候了解到了Electron这个东西可以把web程序变为桌面应用程序,所以就想用React+Antd+Electron来尝试编写一下这个逻辑简单的脚本生成器,以巩固React的知识,以及学习一下Electron怎么用。

本文主要讲一下本项目(CraftTweaker-Assistant,托管于gitee)的大致情况与设计思路。

阅读更多
scrapy+selenium爬取智联招聘

scrapy+selenium爬取智联招聘

这是第三个大四综合实践——数据处理与分析。我们小组打算爬取各个招聘网站进行数据分析。

我负责其中的爬虫模块,教了两个队友怎么使用scrapy,打算我解决完爬取数据的一些难题之后,剩余的解析就交给他们。

我觉得解析数据只是苦力活,只要爬取到带有数据的html,剩下的就很轻松了。最后我选择使用selenium,这样就不用分析接口了,两个刚学爬虫的队友也能轻松搞定。

很快地搞定了前程无忧网和拉勾网之后,我在爬取智联招聘网遇到了很多问题。本文将这些问题以及解决方案记录下来,供读者参考。

阅读更多
vscode中python自定义包的模块如何导入其子包模块

vscode中python自定义包的模块如何导入其子包模块

问题描述

如图所示,对于python,有一个自定义包parent,它里面还有一个子包child,当你在parent.module1import child.module2时,vscode会给你报错,说找不到这个包。

当你单独运行module1.py的时候,可以正常运行,但是当你在parent包外层的main.pyimport parent.module1时,就会报错。

阅读更多