扫描二维码关注官方公众号
返回列表 发布新帖

[玩法/技巧] 让DSM的“文本编辑器”支持更多文件扩展名

6272 4
发表于 2019-2-21 15:31:31 | 查看全部 阅读模式

来吧兄弟,一起玩一起讨论!

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

×
DSM的套件“文本编辑器”TextEditor虽然简单,也算是在DSM上编辑文件的多面手了,TextEditor实际上是第三方产品ACE的包装,支持非常多的文本文件格式,大部分的源码和配置文件都能支持,还通过模式及主题支持这些文件的高亮显示和编辑,虽然比不上专业的IDE,但是在DSM上简单编辑几个文件也没必要打开本地的IDE或者切换到Shell中使用vim。

屏幕快照 2019-02-21 下午2.46.png

屏幕快照 2019-02-21 下午2.28.17.png

屏幕快照 2019-02-21 下午2.27.43.png

安装“文本编辑器”套件后,除了可以在TextEditor中直接打开文件,还支持在File Station的上下文菜单中使用文本编辑器直接打开个编辑文件,还是比较方便的。

屏幕快照 2019-02-21 下午2.34.35.png

但是Synology并没有提供TextEditor对文件扩展名的配置功能,导致有些特殊的文本文件在File Station中无法直接打开,即便是TextEditor中也必须在选择文件时切换到“所有文件”选项才能打开,例如mysql配置文件的扩展名cnf,而且这种打开方式默认的是普通文本模式,不支持代码格式,必须手工切换到ini模式。另外Synology配置也有些问题,常用的conf文件配置为普通文本模式,体验不好。

屏幕快照 2019-02-21 下午2.39.25.png

屏幕快照 2019-02-21 下午2.40.10.png

屏幕快照 2019-02-21 下午2.40.19.png

屏幕快照 2019-02-21 下午2.46.21.png

屏幕快照 2019-02-21 下午3.00.35.png

在google和synology的论坛上搜索了一圈没有找到这些问题的解决方案,于是自己动手,经过一番摸索,找到TextEditor可以打开的文件的扩展名在/volume1/@appstore/TextEditor/ui/TextEditor.js中定义,可以修改TextEditor.js以使TextEditor能够打开特定的扩展文件,或修改已支持的文件扩展名的打开模式。修改后,“用文本编辑器打开”项将显示在具有此扩展名的File Station的上下文菜单中。 此扩展名的文件也无需切换到“所有文件”选项即可直接显示在TextEditor的打开文件选择器中。

屏幕快照 2019-02-21 下午3.01.png

所有支持的文件扩展名和模式之间的映射关系存储在TextFileExtensions的json对象中。通过Shell下使用vim打开TextEditor.js,搜索“TextFileExtensions”,然后添加 cnf:"ini" 成员或修改 conf:"plain_text"为 conf:"ini" 就能解决我上面那些问题了。

屏幕快照 2019-02-21 下午3.16.18.png

说明:
1.摸索时发现ACE官方的/volume1/@appstore/TextEditor/ui/js/third-party/ace/ext_modelist.js文件中,将常用的conf文件配置为ini模式,但是TextEditor没使用这些配置,而是在TextEditor.js中重新定义了这些配置;
2.Shell中的操作及vim的编辑不在本文中讲解,请自行学习;
3.如果套件没有安装在volume1,请自行找到具体的位置;
4.如果浏览器已经打开DSM,那么TextEditor.js不会重载,必须关闭浏览器页签重新访问DSM才能生效;
5.如有升级套件,可能须重新修改TextEditor.js;
6.习惯性分享不加锁,需要的请自取。







评论4

HHHLv.3 发表于 2019-2-21 15:53:42 来自手机 | 查看全部
感谢分享!
回复 点赞

使用道具 举报

超导体Lv.10互助团队 发表于 2019-2-21 16:10:00 | 查看全部
非常实用!
感谢分享!
回复 点赞

使用道具 举报

yzzzmLv.6 发表于 2019-2-21 16:25:50 | 查看全部
感谢分享!
回复 点赞

使用道具 举报

觅凤的梧桐Lv.10 发表于 2019-2-24 13:06:01 | 查看全部
感谢分享!
回复 点赞

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表