tylerlong / slim_text

Slim Text Editor
http://slimtext.org
192 stars 43 forks source link

能否提供ssh读取、编辑远程文件的功能 #11

Open cailiang9 opened 11 years ago

cailiang9 commented 11 years ago

经常要登录服务器写脚本程序。 不知是否难做。

tylerlong commented 11 years ago

此功能早有规划. 但是可能会另外起一个新的项目. 桌面版的Slim Text.

在现有的浏览器插件基础上开发这个功能, 确实有比较大难度.

tylerlong commented 11 years ago

我觉得支持编辑本地文件不难, 支持编辑远程文件也不难. 难点在于怎么让它既支持编辑本地, 又支持编辑远程. 界面交互上我没想清楚怎么搞. 可能要把代码大幅度改动才能同时支持两者. 这也是为什么我倾向于另起一个新的项目.

cailiang9 commented 11 years ago

我没读过源码,所以不清楚改动幅度大小。 但是直观理解,涉及读写操作的部分只是:读写文件、读取目录。同时支持两者是否可以通过类似url来进行? 先设定好机器alias,打开一个文件:sftp://alias/home/xxx/t.py,还可以考虑缓存住对应的ssh connection,不然每次重连就很久。

cailiang9 commented 11 years ago

现有盘符list可以是这样: file://c:/ file://d:/ sftp://alias1/path1 (这个为设定path,例如/home/xxx/) sftp://alias2/path2 “-------------------------------- recent path1 recent path2 这个可以搞成explorer那样的常用路径。

tylerlong commented 11 years ago

嗯, 后台要写C++代码, 接受路径, 能处理不同的协议(本地文件, ftp, sftp等). 目前只有本地文件的功能. 你的思路是正确的.

目前我只有周末时间开发Slim Text. 所以这个短期内可能实现不了.

cailiang9 commented 11 years ago

能否先支持http协议?相信这个要简单得多,这样ssh就可以简单通过简单的http服务先用上。

cailiang9 commented 11 years ago

当通过http查询文件时,提交/返回文件内容;当最后一个字符为/时,返回对应目录内容,可以约定格式(json,包含文件名、属性、大小等) 而ssh服务器的http服务最容易写,估计不到100行。

tylerlong commented 11 years ago

那意味着你得在远程跑一个特殊的http服务? 这个http服务是什么语言写的?

Slim Text当前不依赖任何服务。 如果一定要在远程跑服务的话,cloud9 IDE(有开源版)等等完全可以做到编辑远程的文件。Slim Text没有什么优势。

如果仅仅是依赖SSH服务的话,那还好, 因为ssh是几乎所有*unx的标配。

cailiang9 commented 11 years ago

python编写,python也是几乎标配了,远程跑服务只需复制一个小脚本。 cloud9比较重,占用大,很容易crash(我试过),而且有些服务器经常是临时性的,为了临时用这么一个功能要占去很大硬盘空间不值得。 只是希望搞了http,可以先用上,ssh还要写c代码之类,只是权宜之计。