VSCode 添加代码模板

节选自:VSCode 添加代码模板


Snippets内容使用JSON格式进行定义。
一个JavaScript例子

{
    "For_Loop": {
        "prefix": "for",
        "body": [
          "for (const ${2:element} of ${1:array}) {",
          "\t$0",
          "}"
        ],
        "description": "For Loop"
    }
}
  • For_Loop: 当前snippet名字。
  • prefix: 前缀,代码块使用快捷方式;键入前缀,按tab键,代码块就会被使用。
  • body: 代码块内容;换行使用\r\n。
  • description: 键入前缀,vscode 感知到前缀,显示的说明内容。
  • $1,$2,$0: 指定代码模块生成后,编辑光标出现位置; 使用Tab键进行切换(编辑光标按$1,$2,$3…$0的顺序跳转),$0是光标最后可切换位置。

# Snippet语法

## Tabstops

$1,$2指定代码块生成后,光标出现的位置;不同位置的相同$1位置同时出现光标。

## Placeholders

给光标出现位置加上默认值;例如,${1:another ${2:placeholder}};$1处位置默认值是another。

## Choice

光标位置设置多个值可供选择; 例如,${1|one,two,three|};$1位置处可以选择one,two,three中一个词填充在此处。

## Variables

  • 常用变量
    • TM_SELECTED_TEXT 当前选中内容或空字符串
    • TM_CURRENT_LINE 当前行内容
    • TM_CURRENT_WORD 光标处字符或空字符串
    • TM_LINE_INDEX 从0开始的行号
    • TM_LINE_NUMBER 从1开始的行号
    • TM_FILENAME 当前被编辑文档名
    • TM_FILENAME_BASE 当前被编辑文档名,没有后缀
    • TM_DIRECTORY 当前被编辑文档目录
    • TM_FILEPATH 当前被编辑文档全路径
    • CLIPBOARD 当前剪切板内容
  • 日期和时间相关变量
    • CURRENT_YEAR 当前年
    • CURRENT_YEAR_SHORT 当前年后两位
    • CURRENT_MONTH 月份,两位数字表示,例如02
    • CURRENT_MONTH_NAME 月份全称,例如 ‘July’
    • CURRENT_MONTH_NAME_SHORT 月份简写 ,例如’Jul
    • CURRENT_DATE 某天
    • CURRENT_DAY_NAME 星期几, 例如’Monday’)
    • CURRENT_DAY_NAME_SHORT 星期几的简写, ‘Mon’
    • CURRENT_HOUR 小时,24小时制
    • CURRENT_MINUTE 分钟
    • CURRENT_SECOND 秒数

变量格式化

${TM_FILENAME/(.*)\\..+$/$1/}
  |           |         |  |
  |           |         |  |-> no options
  |           |         |
  |           |         |-> references the contents of the first
  |           |             capture group
  |           |
  |           |-> regex to capture everything before
  |               the final `.suffix`
  |
  |-> resolves to the filename

【转】批处理删除文件名前N个字符

转载自:批处理删除文件名前N个字符


在某破站上批量下载了一些文件,文件名前面都会带有序号和网站名,影响原文件带序号的排序,写了个简单的批处理,直接删除文件名前N个字符。

原文件名:

0001.比例比例-零基础学习-01 – 购物导航.flv

0002.比例比例-零基础学习-013- 网页.flv

0003.比例比例-零基础学习-02 – 游戏加速.flv

运行bat:

Please enter the file suffix : flv

Please enter how many characters to cut out : 10

(中文按1个字符来处理)

修改后,文件名为:

零基础学习-01 – 购物导航.flv

零基础学习-02 – 游戏加速.flv

零基础学习-013- 网页.flv

@echo off
setlocal enabledelayedexpansion
 
set /p format=Please enter the file suffix :
set /p deletenum=Please enter how many characters to cut out :
for /r %%i in (.) do (
    for /f "delims=" %%a in (' dir /b "%%i\*.%format%" 2^>nul ') do (
		set "t=%%~na"
        ren "%%i\%%a" "!t:~%deletenum%!%%~xa"
    )
)

在需修改文件名的同个目录下,创建一个txt文件,粘贴以上代码,保存后修改后缀为bat,双击运行。

【转】CocosCreator之控制游戏速率实现倍速与慢动作

节选自:CocosCreator之控制游戏速率实现倍速与慢动作


// 游戏速率变量
cc.director._kSpeed = 1;

var _originCalculateDeltaTime = cc.Director.prototype.calculateDeltaTime;
cc.director.calculateDeltaTime = function (now) {
    _originCalculateDeltaTime.call(this, now);
    this._deltaTime *= this._kSpeed;
}

// 将方法挂到 cc 对象上
cc.kSpeed = function (speed) {
    cc.director._kSpeed = speed;
}

雷电模拟器安装Xposed

1.下载工具包

2.解压工具包到D盘根目录

3.打开雷电模拟器,执行Shell命令

adb remount /
adb push D:\xposed /system
adb shell
cd /system/xposed
chmod 777 script.sh
sh script.sh

4.安装成功

**************************
Xposed framework installer
**************************
- Checking environment
 Xposed version: 89
- Placing files
cp: bad 'system/priv-app/XposedInstaller/XposedInstaller.apk': No such file or directory
chmod: /system/priv-app/XposedInstaller/XposedInstaller.apk: No such file or directory
chcon: /system/priv-app/XposedInstaller/XposedInstaller.apk: No such file or directory
- Done
```

参考链接:

雷电模拟器4.0(android 7.1 x86_64) xposed安装

雷电安卓模拟器解决Could not load available ZIP files.Pull down to try again问题

【转】如何判断用户是否已关注公众号

节选自:如何判断用户是否已关注公众号


一、微信公众平台配置

1. 获取appid, appsecret,添加白名单

登录微信公众平台,进入基本配置。开发中需要用到两个参数,appId和appSecret(appSecret只展示一次,需保存下来,否则需要重置获取)。
获取access_token时需要添加IP白名单。

2. 添加网页授权

进入公众号设置=》功能设置=》网页授权域名

二、php后端实现

1. 获取全局token

此token有效期为2小时,可以暂存起来,过期后需要重新获取。
PS: 项目中必须走同一个接口,否则容易互刷导致过期。

2. 获取用户关联公众号的openid

分两步,先要获取到用户对公众号的授权码,然后拿这个码去获取临时access_token和openid。

3. 获取用户信息

使用第2步中获取的openId和第1步中获取的token去获取用户信息

PHP Excel转PDF(使用OpenOffice)

1.安装OpenOffice

2.下载Zip压缩包,从压缩包里找到 DocumentConverter.py

3.将 DocumentConverter.py 放在 soffice.exe 所在的同一个 OpenOffice 文件夹中,可能是 C:\Program Files (x86)\OpenOffice 4\program

4.将 OpenOffice 作为服务启动:

cd C:\Program Files (x86)\OpenOffice 4\program

quickstart

soffice "-accept=socket,port=2002;urp;"

5.从 PHP 运行:

$path = 'C:\Program Files (x86)\OpenOffice 4\program\\';

$input = __DIR__ . 'test.xls';
$output = __DIR__ . 'test.pdf';

$m = '"';
$n = '" "';
$cmd = $m.$path.'python'.$n.$path.'DocumentConverter.py'.$n.$input.$n.$output.$m;
exec($cmd);

参考链接:

How do I convert RTF to PDF from my PHP web page using OpenOffice?

PyODConverter