[ALPHA]适用于Notepad++的Markdown插件

作者:V君 发布于:2019-5-12 6:04 Sunday 分类:我的应用

TL;DR

分流下载:[ 本体32位 ][ 本体64位 ]
分流下载:[ 本体32位 ][ 本体64位 ]
分流下载:[ 本体32位 ][ 本体64位 ]
本站下载:[ 本体32位 ][ 本体64位 ]

源代码 ]

效果: 增加一个可拆分、停靠的插件窗口,呈现Markdown,可导出PDF
限制: 支持大部分常见的Markdown语法,数学符号,图表目前还不支持
环境: 已使用Notepad++ v7.6.6在Win10和Win7SP1确认
技巧: 等你来发现。。。

点击查看原图

使用方法:

1)确定Notepad++位数和版本,下载对应本体,解压到插件目录的NppMarkdownRenderer文件夹
2)启动Notepad++点击工具栏中的点击查看原图按钮,或通过插件菜单
NppMarkdownRenderer打开插件窗格

目前未实现的功能:
1) 样式表管理
2) PDF导出选项(如背景启用和边距)

FAQ:
1)Notepad++提示错误,无法加载插件。
 有两个常见的原因会导致插件无法顺利在Notepad++启动时加载。
 - 在Win7可能是缺少.NET,可从官方网站获取最新版。
 - 缺少CRT库,可以从官方网站下载安装或者直接将散装文件(32,64)解压到插件目录
2)插件窗口显示ERROR: Only Markdown(*.md) supported
 - 将当前文件保存成扩展名为.md的文件,然后任意变更或来回切换选项卡即可
3)崩溃、卡死和其他BUG
 - 请把重现步骤反馈到评论中
 - 具备开发能力者请调试源代码

扯扯:
 总算是发布了第一个看起来可以用了的版本,虽然还有许多功能只做了界面还没实现。。。
 其实没有Notepad++也可以运行
MarkdownRenderer.Test.exe来体验一番 乂目

标签: 软件开发 插件 C# Interop HybridApp

评论(0) 引用(0) 浏览(29)

[成功]使EMLOG支持PHP7和MYSQLi数据库连接方式

作者:V君 发布于:2019-4-8 0:47 Monday 分类:折腾手记

TL;DR
1) 定位到 $
/include/lib/mysql.php 把里面的 mysql_xxx 系列方法名改成 mysqli_xxx 系列,并按照方法签名修改传入的参数,主要是顺序和连接实例,可以参考采鸟教程
2)
定位到 $/include/lib/cache.php 把里面的
$$row['option_name'] = $row['option_value']; 改为
${$row['option_name']} = $row['option_value'];

目前就发现这两处,修改完之后貌似已经能继续工作。如果还有别的问题,可以持续观察apache的错误日志,继续找出要修改的地方。

扯扯:

安装Gogs时似乎因为系统软件包太旧没装上,作死轻易升级系统,还肆意跳过一些步骤,结果把服务器搞崩了。。。

重装最新版系统,灌软件包的时候发现EMLOG需要的PHP5没了,只能装7,装上之后遇到一系列数据库连接问题,还好在短时间内一边咕狗一边修改,给搞定了!

这回又折腾了一把所谓最好的编程语言想不碰都难呀 XD

看来把时间分一些到目前一直在咕咕咕的个人博客系统了 乂目

标签: 软件开发 emlog php Web技术

评论(0) 引用(0) 浏览(44)

[WIP]通过音频预处理、分析和可视化,辅助制作LRC时间轴

作者:V君 发布于:2019-3-31 13:50 Sunday 分类:折腾手记

目前实现程度非常不完整,稍稍展示一下目前的效果,如果想听我扯扯就点进来吧

点击查看原图

阅读全文>>

标签: 软件开发 C# 图像处理 多媒体 音频

评论(0) 引用(0) 浏览(61)

做了个LRC歌词日文汉字注音小工具

作者:V君 发布于:2019-2-21 13:04 Thursday 分类:我的应用

TL;DR

[ 本体 ][ 源代码 ]

点击查看原图

效果: 在LRC歌词中的日文汉字后面自动加上平假名注音,用括号括起来
限制: 仅处理 [mm:ss.ff] 格式时间轴前缀的行,其他文字会直接追加到输出
环境: 只需要 .NET 2.0 就能运行,依赖MSIME.Japan 对于精简掉日文输入法的系统可能会挂
技巧: 左边窗格支持把文件拖放进去, 默认情况下以ANSI编码读取文本, 可以按住shift换utf8

扯扯:

自从发现了K米可以自动关联MP3旁边的LRC文件之后(之前只知道可以自己传,没想到还能带歌词),开始自己做时间轴歌词去练习K歌了. 最开始的时候是一个个汉字查字典找平假名注音,然后编辑本文. 多了就会烦,受不的时候才想起可以写个小工具来实现自动处理(真是码农失格!)

尽管已经把源代码放出来,但也可以扯扯实现过程的经历.

在动手之前,首先确认可行性,比如看看如何获取日文汉字的平假名注音,把想法拿去喂狗,然后咕狗吐出一篇博客文章详细地讲解了如何用MSIME.Japan实现获取日文汉字平假名.

但这是一整句转换,距离达成目的还差挺远.接着停下来想办法,或许用正则进一步处理可以实现.又去咕狗,找到了另一篇文章,讲解了如何使用正则判定日文平假名.

我去! 原来正则还有内置的字符集标识

  • \p{IsHiragana}判定日文平假名
  • \p{IsCJKUnifiedIdeographs}判定汉字

到目前为止,技术上的可行性已经确定,只需要把一个个[汉字+平假名]的组合分别喂给MSIME然后再抓出想要的部分,塞进括号并插入汉字后面就OK.

总结下来这个东西似乎并不太具备技术含量.. 嘛!问题解决了就好 _(:з」∠)_ 

接下来可以挑战一下卡拉OK视频字幕,虽然以前有做过,但那是手工操作的,那就让它自动化吧!

标签: 正则表达式 软件开发 C# Interop Winform

评论(0) 引用(0) 浏览(120)

用C#为Notepad++写插件:完善IDE调试体验、使用共享项目、实现窗口停靠

作者:V君 发布于:2019-1-5 21:57 Saturday 分类:折腾手记

TL;DR

完善IDE调试体验

1) 在 Notepad++ 插件目录创建文件符号链接,指向 bin\debug\x86(或x64)\ 里的 dll
2) 将项目属性-调试选项卡-启动操作的外部进程指定为 Notepad++ 的绝对路径
3) 设置断点,F5!

使用共享项目

1) 新建共享项目,命名 Kbg.NppPluginNET.PluginInfrastructure 这样可以一致命名空间
2) 将 PluginInfrastructure 里的代码文件移动过去

3) 在插件项目中添加共享项目引用, 这样一份基础设施代码就能在多个项目之间共享

实现窗口停靠

1) 从官网插件开发向导页面找C#插件示例中参考窗口停靠的具体实现。在GitHub也有在线版
2) 新建一个窗体,命名 SayHiForm,延续上回命名习惯
3) 将示例代码应用到项目中,按 F5 键启动调试验证实现。可以在 SVN 上查看最终实现

点击查看原图

~扯谈时间~

在上一篇文章里我们搞清楚了如何开始用 C# 为 Notepad++ 写插件让我们继续折腾,这次一共有3个折腾点,分别是完善调试体验、用共享项目避免重复代码还有实现窗口停靠。让我们从第一个折腾点开始。

按照TL;DR的步骤操作下来,现在可以命中断点了,也能查看和修改变量值以及拖动执行代码,略遗憾的是编辑并继续不可用。提示未加载程序集时不允许,可能是 DllExport 修改 DLL 导致。总而言之,能打断点已经是很好的体验了。非要在调试时想要编辑并继续也不是不可以,只要另起一个项目作为调试启动入口来调用这个程序集,那么在调试时也是可以编辑并继续的,只不过你得而外地为调试入口做一些适配,从而弥补调试入口和实际被 Notepad++ 加载运行时的差别。扯完这个折腾点之后让我们简单扯扯代码共享项目。

说到代码共享项目那就得先聊聊过去,在没有这种项目类型时,我是如何管理重复出现于多个项目的代码集。在那个时代,我的解决方案有两种,分别是将其独立成为类库,或者用目录符号链接。这两种方法相对于代码共享项目来说都是有明显缺陷的,拿这次我们折腾的,带非托管导出函数的程序集来说,就得把代码放入当前项目中,导出函数不应该出现在引用的程序集;而符号连接虽然能算作当前项目的代码文件,然而命名空间不能与项目名称保持一致,从规范层面来看有些尴尬。用了共享项目之后这两个问题得到了彻底的解决。共享项目能扯的并不多,最后是这次的重头戏--可停靠窗口。

说到可停靠窗口,我要先小声 BB 一下,现在能找到的,能在 Windows 下离线使用的,带实时预览窗格的 Markdown 编辑器中,大部分布局都是文本编辑在左边,预览窗格在右边。只要把预览窗格做成可浮动、停靠的活动面板,这就完美的满足了我这种挑剔家伙和大众普遍习惯的需求。就算是能把预览窗格移动到左边的 vs code,它也不能实现浮动窗口。

回归主题让我们继续吧!进入官方推荐的插件示例项目一看,略震惊。具体实现只需要短短几行代码把窗体句柄按照指定的姿势丢给 NPP,它就能自己管理停靠! TL;DR 里已经写的很清楚,这里就不再啰嗦。

才如果你把整个解决方案Check出来,会发现上一篇文章折腾的 HelloNppPlugin 插件项目并没有使用共享代码项目,这是有意而为之,让内容和文章描述尽可能一致,避免初看的读者受到影响。

这次就扯到这里,下次关于 NPP 插件的文章估计是 Markdown 插件发布的时候了。

标签: 软件开发 插件 C# Interop 调试技术

评论(0) 引用(0) 浏览(158)

Powered by emlog 去你妹的备案 sitemap