noptead++ 替代品 sublime text

背景

之前写过类似的文章,前面用everyeidt 国产软件,我用了一个月样子,但还是不能接受临时文件搜索可能会出现错乱的bug,于是我换成sunlime text

sublime text 优势

  1. 漂亮,目前用过编辑器最漂亮的【vscode我认为不能算编辑器】
  2. 插件支持比较多
  3. 搜索比较强大,支持多种搜索条件【文件搜索】
  4. 带大部分编译命令,可能方便一键启动,但感觉这个功能不与直接集成控制台,类似vscode写法
  5. 语法识别,可以通过快捷键找到对应的方法
  6. 可以支持默认打开二进制文件,以16进制打开,如果只是简单复制16进制就只可以直接使用,如果不是以16禁止打开,可以在文件菜单以16进制打开。
  7. 右键可以快速打开文件所在的目录
  8. 各种命令组合,方便各种扩展,这个跟vscode有点类似

目前我自己认为优点

sublime text 缺点

  1. 收费,但试用一段时间,保存文件可能会出现提示,但后面我设置自动保存,这个就很少出现提示【问题不大】
  2. 普通搜索不会以文件搜索出现,普通搜索只能一步步搜索,默认不可以显示所有搜索结果,不过习惯就好了。
  3. 没有默认集成终端,这个可能我用vscode习惯了,觉得这样子非常方便,这个也可能用户自己直接终端,觉得没有意义。
  4. 没有右键打开文件菜单,必须自己手动添加
  5. 加载package 插件比较慢,因为是国外服务器

使用知识

插件packet 管理

  1. 打开选项
  2. 打开 Package Control
  3. 在弹出框输入install,会加载半天
  4. 找到你自己喜欢的插件,全部是英文

中文设置

按照上面包使用
如果有中文需要,需要在的packet管理搜索chinese

增加右键菜单

https://www.jianshu.com/p/eb9a263dccdc
但我以第二种方法,中文为乱码,我用一种方法,找到sublime text的默认设置,修改名字,然后输入对应中文就可以了。

这个同时可以手动删除右键菜单。

购买

官方购买要500多块钱,但通过淘宝购买团队版本大概只要100多块钱,貌似可以多台电脑使用,那么可以和几个小朋友一起购买一个就可以了。我自己买一个团队版本,不算白嫖。。。

总结

sublime text 应该算真正编辑器,他有点像vscode,感觉vscode有点借鉴,vscode 以electron js 扩展用js 开发非常方便,各种扩展包,再以微软官方支持,所以vscode发展非常快,同时vscode是ide与编辑器中间产物,所以带一定的ide属性,所以才有这么多人喜欢用。但相对于编辑器速度慢很多,所以作为开发来说还是要有一款编辑器用来常见编辑功能。

自己开发手机协同软件支持多窗口了

背景

以前特别项目miui+的多窗口技术,觉得非常NB,自己研究好久总算开发出来了,其中遇到好多坑,还好自己都解决了。目前Scrcpy是不支持的,我可能是国内第一个真正支持的。我通过反射创建虚拟virtual display ,同时可以监听支持APP旋转。

效果图

斗鱼是单独app和一个主窗口,可以无限多个APP,只要手机支持的话,我自己测试跑到6APP,后面就没有测试了,miui+ 限制3个,可能怕手机性能不足导致问题。

总结

逆向miui+ 知道反射哪个函数,scrcpy 目前是不支持,等哪天我代码整理可以发布出来,目前含有太多测试代码和一些不规范代码。
win32开发界面感觉不是那么方便,当初就是为了体验一下以前开发界面的方式,不然直接就用duilib库去开发了。

虚拟display 有的APP不支持,但腾讯视频是支持,但miui+设置了黑名单里面,不知道为什么。

app名字获取,我目前通过解析应用宝,小米商店,库安解析获取的。分析半天发现读取资源太麻烦,看了半天绕来绕去的,感觉理论上应该可以解决,因为市面多开都是动态加载APK,反射资源类读取资源,只是app_process稍微不一样,更加底层,全部靠binder来操作,必须自己封装才可以。。。

miui+ 协同软件 多窗口技术研究

背景

miui+ beta 软件貌似出来蛮久了,这个技术原理和scrcpy差不多,只是miui+ beta是系统软件,所以他可以直接反射,而不需要开发者权限才能反射。

优点

  1. 支持最多3个独立窗口【APP 独立窗口,不会在手机物理屏幕显示】
    不过一些程序屏蔽多个窗口,比喻腾讯视频就不可以,貌似不是技术原因,因为一些斗鱼,虎牙视频类可以开启独立窗口,我用JB逆向分析看他是写了包名做过滤而已,
  2. 复制程序比较方便
  3. 不用蓝牙就可以传递声音
  4. 不用开启开发者模式
    编码声音传递

    缺点

  5. 每次连接基本都要扫码,很容易连接不上,这点我是非常不能理解,我是小米笔记本,这么大一个公司,基本功能做的非常不稳定,所以他的beta 一直没有去掉。貌似起码都出来一年多,产品还这么不稳定,这个点我实在想不明白,我不知道小米投入多少开发,但感觉不应该,一个扫码总是出不来,PC 没有技术兼容性,本身就是只是渲染层,如果考虑其他平台的话,PC端都做不好,其他有什么用呢???
  6. 不能像scrpcpy类产品直接黑屏,miui+ 只是不锁屏,屏幕还是或多或少亮着,可能考虑安全考虑,但只是wifi能连接,我觉得这个问题不是很大,但有通知提醒,可以一键点击退出,所以安全考虑有点站不住脚。大不了加一个开关,默认关闭,只有需要协同必须手动开启即可。
  7. 连接必须开启gps定位,这个是我不能忍的功能点,如果安全考虑,为什么要定位呢?难道手机定位移动超过一定范围就停掉吗?但不是只能wifi吗?安全也可以加默认开关,开启gps就会耗电,用一些程序就会获取实时定位,但有的时候并不像开启定位。
  8. 最新版本不能设置右键快捷,因为我希望返回右键。
  9. 不能走usb传输数据,必须开启wifi

    miui+ 总结

    miui+ 用起来还可以,只能说够用,现在改名小米妙传,Miui+ beta 官方不提供现在,酷安有人提供小米妙传的地址, https://www.aliyundrive.com/s/teDgZazeWU5
    安装包会检测机型,可以在cmd 拖入安装包,然后增加参数 /i 就可以自动按照。安装后删除miui+ 前一个版本。
    目前用自己的协同软件非常舒服,感觉速度比alink和 miui+速度要快一点,我不知道为什么,难道是c++ 性能就是快吗?
    自己

我自己的win32+ffmepg api+sdl开发。

miui+ 多窗口技术

我一次用窗口,这样子手机可以同时跑几个APP,好处有什么用,我可以一边看视频,一边微信回复,可以不用小窗口,因为我都用PC,我窗口已经非常大了,我可以放几个窗口。

过程

我要探索这个技术,那么就有逆向miui+ apk

  1. 我搜索miui+ apk,网上找到一些版本
  2. 用jadx逆向分析
  3. 具体代码在display, mirror 包下面

创建窗口逻辑

  1. 创建virtualdisplay
  2. 创建成功然后启动指定APP【指定display id】
  3. 模拟点击和按键要指定display id
    如果不指定display id,那么就是默认物理屏幕去了。

技术验证

用最简单代码验证这个逻辑

  1. 开启手机模拟辅助显示设备【开发者模式】
  2. 用adb命令找到这个窗口display
    dumpsys window displays
    找到非0 那个 Display: mDisplayId=57 rootTasks=1
    我找到57,你的可能大于0任意一个数字
  3. 写代码启动知乎到57

    PackageManager packageManager = getPackageManager();
        String packname = "com.zhihu.android";
        Intent intent = packageManager.getLaunchIntentForPackage(packname);
    
        Bundle opts=ActivityOptions
                .makeBasic()
                .setLaunchDisplayId(57)
                .toBundle();
    
        startActivity(intent, opts);

    这里注意android 是12的话要设置权限获取知乎权限,可以另外代码方式启动知乎。packageManager.getLaunchIntentForPackage(packname); 这个 android 12需要权限。

  4. 效果图

可以看到副窗口显示知乎,主窗口是没有改变。这个功能有点像小窗口功能,说不定这个技术就是这个原理。

总结

后续我会在自己的写的协同软件增加窗口功能,自己开发软件想加什么功能就加上什么功能。别人写的软件或者功能很难满足自己的需求。

Miui+ 开发者,我感觉他们开发者自己都不怎么用这个产品,做技术的人,应该多用自己开发产品,同时用同类产品。否则很难知道什么是好,是什么是坏。可能小米发展太快,估计只是周边产品,没有投入太多精力。

parsec 使用遇到软件问题

背景

自己已经使用parsec远程办公一段时间,写代码非常流畅,基本和本地写代码差不多,国产的远程软件达不到,向日葵,todesk都达不到这么流畅,不过使用遇到过黑屏的问题。

问题

黑屏

  1. 向日葵远程开启黑屏,偶尔启动电脑会导致parsec连接上黑屏,重启几次可能恢复,后面我直接关闭了默认连接开启黑屏功能,这个问题就解决了。
  2. 笔记本盖子没有打开,导致连接黑屏,必须笔记本盖子开启,向日葵也会显示不正常,但能用。

卡住

  1. 点击nvdia geforce 软件 就会卡住,我只能用向日葵远程点击这个弹窗就恢复正常

parsec与其他远程一起用

  1. 向日葵配合他开机棒,用远程开机【向日葵开机启动】
  2. 开机后,向日葵远程控制登陆账号然后启动parsec软件
  3. 文件传送用向日葵或者一些临时文件发送的网站,比喻奶牛快传【现在要注册才能发送】
  4. 如果卡住了,用向日葵点击一下

补充

如果没有实体显示器,可以用网上虚拟显示器方法,具体可以看之前的文章。。。

其实我没有明白,parsec能够低延迟,应该主要还是显卡编码加成,网络协议应该没有那么重要。

notepad++ 替代产品 everedit【放弃不用】

更新

我已经全部卸载了,连一个搜索都有bug的笔记软件,我直接卸载,虽然我购买了,实在不能忍,现在改换sublime text.

背景

自己笔记本软件一直都是用notepad++,我喜欢他的多标签和多个文件搜索功能,但由于这个作者一直都有政治倾向,所以想找一款可以替换notepad++的软件,因为vscode比较重,所以我直接排除了,找几个几款都不是很满意,要么没有我想要的功能,要么就是太重。【vscode 用在写nodejs 或者网页时候】

everedit

我在搜索找到了everedit,而且他是国产的软件,同时支持我多标签自动保存和文件搜索功能,同时还有其他的为开发装备的扩展,我自己已经用几周,感觉非常满意,暂时没有找到其他的问题。虽然他高级功能收费,但我基本用不到高级功能,同时他应该是纯c开发,然后界面win32开发,因为我用vs 打开资源,可以看到他的对话框资源,同时没有引用mfc的dll,也没有用c++ 运行库,那么它可能纯c写的。而且文件大小都很小。

有时候真觉得纯c开发的软件真的小而美,用高级语言开发东西反而只是大了

everedit介绍

标签临时缓存

他默认多个标签不会缓存,必须自己在设置里面进行设置。

搜索

这个基本和nopted++ 支持多个

它高级查找还支持匹配行和非匹配行,统计行数,这个非常适合开发用,我感觉作者产品理解能力还是很强的。他文件路径搜索可以自己去在查找菜单里面,界面开发还是非常清晰,我感觉比notepad++还更加清晰。

base64使用

选择要base64的文字,点击菜单工具的里面base64就可以进行编码与解码了,这个功能非常方便,如果某个文件要base64,那么直接权全选然后点击。

hex 二进制显示

这个自带二进制显示,然后右键可以直接复制16进制的字符串,这个对我非常方便,我以前用Hex专门工具,这样子就不需要了。

总结

我目前只用了上面这几个功能,其他功能暂时我没有用到,等我再用一段时间,如果我还觉得非常好友,去买一个永久激活码支持一下作者,虽然我用不到他的收费高级功能,算是支持国产软件。
~~
貌似30天的试用期,试用期过期会弹出购买对话框,然后点击确定就可以正常使用,我目前还没有过30天,等后面看具体情况,没有高级高能收费这个说法。。。~~
大概一个月试用期,过期了会提示,然后就无法使用,目前我已经购买,但新建标签的bug一样存在,如果希望免费,这款不适合你,感觉目前比较合适也就vscode了,虽然重了一点点

官网

http://www.everedit.cn/

问题

我现在使用,发现新建标签会出现重复,比喻标签1,我关掉程序,然后再新建标签,还会创建标签1,看起来没有什么,但如果搜索第二个标签1时候,点击搜索内容会跳到第一个标签,导致错乱,感觉非常不爽,我不知道这个bug怎么会有,稍微用一下就应该重现。。

我暂时每次新建标签时候,如果重复直接关闭那个重复就不会出现这个问题,但感觉不爽,如果有时间直接给他打一个补丁,或者写一个插件解决这个问题,实在有点膈应自己,目前还没有过期,我还没有购买这个软件,我想想看看过期会不会弹出购买对话框

android 协同 实时渲染问题 scrcpy的小技巧

android 协同或者直播

我自己开发android的apk直接开启录制屏幕,然后传输H264到PC端,我发现无法实时,但scrcpy却可以做到,我一步步查找代码进行分析

format.setLong(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER, 100_000);

Applies only when configuring a video encoder in "surface-input" mode. The associated value is a long and gives the time in microseconds after which the frame previously submitted to the encoder will be repeated (once) if no new frame became available since.

上面goolge的解释,如果没有新的帧就会重复上一个帧,我不知道这么设置后就可以看起来实时,不然大概就是2秒左右的延迟,我自己手机浏览器显示时间就可能明显感觉到。我之前没有用h264编码时候,直接截图都没有延迟,可能就是编码导致的,因为图片没有变化就不会进行编码,可能下次编码就需要等待一段时间,所以产生的延迟了。

h5显示出现延迟

我自己改了好多代码发现网页显示渲染比较慢,代码调整几次都发现有2秒的延迟,无论用画布还是别人渲染方法都不是很好,所以我直接放弃还是用SDL进行渲染。

SDL渲染出现残影(偶尔显示之前帧)

这个问题开始我以为数据传送有问题,我后面直接改成本地文件读取帧,也有问题。
我突然想到可能没有加延迟,导致渲染过快有残影出现,我后面加了SDL_Delay(1) 一毫秒延迟就再也没有出现了。

总结

自己开发的时候减少很多业务代码,scrcpy用了队列,用C的指针来代替工厂类,这种代码不好方便找代码,对自己开发的那确实比较舒服。
用webview显示实时做不到,网上看了好多方案,貌似都不是很好,都基本有2秒左右延迟。

parsec局域网玩FPS游戏

背景

自己一台笔记本用来开发,另外一台台式机偶尔玩一下荒野行动,用大屏幕玩游戏肯定舒服一点,这样子导致每次都会要切换,导致有一点麻烦

测试过程

  1. 向日葵
    我自己是会员,可以开启游戏模式,结果他无法读取游戏画面,这个应该向日葵采集API的问题,无法采集到显卡渲染的界面。vs 都无无法采集到,因为默认选项用显卡渲染加速,所以无法使用。
  2. 微软远程桌面
    游戏画面是能看到了,结果鼠标一下子飞好远,然后查了一下解决方案,看到微软一个回答,FPS游戏建议用parsec。。。 说明这个无法满足问题。我自己还是用家庭版本,到github找一个安装远程方法搞了半天,结果也无法游戏,只能远程,不过只是远程来看,微软的桌面确实足够了,比其他远程软件要好。
  3. parsec
    直接搜索进行下载、注册、使用。
    直接远程,结果黑屏,然后自己搜索,结果是被远程端必须插入显示器,但我只有一台显示器,于是找了一下解决方案

    parsec 方案解决显示器问题

    购买hdmi虚拟显示器

    这种需要购买一个硬件,插到电脑

    软件,虚拟一个显示器

    貌似国外有开源代码,我觉得麻烦,懒得编译,自己找到一个DisplayAgent软件
    https://pan.baidu.com/s/1vdqm0Is9pjAcG40Qf_q7cw
    不知道这个软件不知道是不是国内,可以试用10分钟,可以购买,貌似才10几块钱。
    如果你联系不到作者,我可以告诉你一个最简单破解方案。
    任务管理器->性能管理,找到软件,然后xx.... 我就不说完了,毕竟有点断人财路。。

快速查找清理电脑里面的大文件

背景

我们电脑里面经常许多垃圾文件,但有的时候又不知道哪些文件或者文件夹占的空间比较大,于是我从网上找到这个软件。可以快速找到。

软件

wiztree

自己删除时候千万不要删除window目录文件,那都是系统文件,其他的目录都没有那么重要。我主要查找administrator 目录文件夹哪些占用比较大, 因为一些软件的数据文件都存在那个目录,哪些软件卸载也不一定会清理掉。

官网

https://wiztreefree.com/

国外地址,可能访问比较慢,你也可以通过百度网盘地址下载。

链接:https://pan.baidu.com/s/1ymKJr509pmgVbMVAQC1j7Q
提取码:1234
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V5的分享

快速打开url小工具

一,背景

这个很久之前就想开发的小工具,自己陆陆续续开发一段时间,方便快速打开自己常打开的url.为了练手前端,开始用纯原始的js 开发界面,你会在设置界面发现一个丑陋的菜单,这个就是原生js代码弄的,没有用到前端ui控件,后面接触jquery,amazeui,于是导入进来,现在算是前端基本可以快速开发了。话说对于习惯wpf 和 windows 界面开发,用html开发界面确实不太习惯,

说明

软件快速通过关键词或者关键词的缩写打开对应的网址,因为自己常常会开一些web,进行访问。 这个软件有点借鉴utools,这个工具可以对接任何web网页,后续会加入js注入。当前版本只是简单实现web访问快速访问。

本软件只是练手electron 技术而已,后续慢慢补充各种插件和web,实现自己软件自给自足。提高自己快速编码能力和产品的驾驭能力。

使用

  1. 默认快捷键[ctrl+alt+k],自己可以设置界面进行修改
使用
  1. 添加功能
添加
  1. 输入关键词
使用
  1. 回车打开
效果

下载

百度网盘

链接:https://pan.baidu.com/s/1MGlLI4kBGZk1vCG4yJYAnA
提取码:60hu
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V5的分享

个人觉得好用的软件

浏览器

chrome

优点:世界主流浏览器,插件丰富

缺点:消耗内存,被墙,无法直接同步

edge(google内核版本)

优点:直接用的chrome的内核,所以优点基本一样,同时可以直接用微软账号同步,以后windows应该会直接预装,所以以后估计很快edge的天下了。手机版也可以从各大商店下载(android)

缺点:暂时没有发现

压缩软件

bandzip

国外产品,基本无广告,在升级的时候有一点点广告,无任何弹窗,国内压缩软件基本都会带广告加干扰性的弹窗(它们是否加一个会员免广告,加一些会员功能,价格便宜一点,比喻一年10元之类,但估计没有广告赚钱,恶心循环)

远程工具

向日葵

我认为目前最好用的远程,毕竟老牌子。用户体验做的很好了,速度就看服务器了,我自己几年前买了永久,但大多数不用VIP渠道,所以感觉速度还可以。如果从体验角度看没有微软自己远程工具好,分辨率和权限在一些机器上会出现问题,比喻向日葵无法退出杀毒软件,这个应该是权限问题导致的。理论上从技术能解。

微信手机多开

多开分身(android)

产品稳定,广告比极少。我研究多开类产品中,从技术角度来说,这种可能封号概率比其他几个产品会好一些。

ios(没有)

没有,我自己不用。而且我觉得永远不会一个好用,IOS只能二次打包,但二次打包是不能上应用市场的,那么只能用证书打包,但企业证书基本都会掉,所以过一段时间就会掉,那么又要下载,因为证书不一样,包就不一样,那么以前消息记录就不存在,那么基本就很烦

截图软件

QQ或者TIM 截图功能还是很强的

snipaste:国外软件,截图功能非常强,如果不想用QQ,就可以用这个单独截图工具

待续

以后有时间再补充吧