发布一个轻型文件编辑器 - lincell,一行命令创建IDE

1. 前言

刚发布一个叫做lincell的模块,第一版放出来遛遛,可以通过npm安装使用。等下一版本会对代码做大的更改,不过使用者不用管,除非你要看代码,github地址在这里,项目页面在这里

它的前端是通过nide改造的,我对整个代码做了较大更改,后面计划的功能更会改得面目全非,所以也没有fork,只是重开了一个项目命名为lincell,本来我更中意linc,但npm上的坑儿已经被占了,无奈。

为什么要开发lincell:

  • nide作者很懒,都一年多不维护了,估计我以后也会很懒
  • nide不支持windows,有人问那你为什么需要windows,好吧,很苦逼的是我有一台windows主机要维护;还有个原因是,我在windows上做开发的时候也想用它,毕竟它足够轻量
  • nide依赖的node和库版本都太老,我有喜新厌旧强迫症
  • 后台基于Event的处理有bug
  • 我特别想要的功能它没有,比如上传下载,代码折叠,多标签页显示,markdown预览等等

分享publish到npm时的一个

  • 问题:平常一般用linux开发,所以不会遇到文件格式或是编码的问题,但这次lincell的大部分代码是在windows上写的,所以发布到npm上后,在windows上安装使用都没问题,但在linux上就错了(找不到文件)
  • 解决:在程序入口文件app.js的头部添加#!/usr/bin/env node让linux知道用node去运行它,然后把文件格式改为UNIX

2. 介绍

LinCell [List all in Cell] 是一个用 Node.js 开发的编辑器, 只需执行一条命令即可将文件夹变成一个工作空间,也可以作为简单的IDE使用, 它有以下特性:

  • 可遍历并展示目录下所有文件夹和文件
  • 对文件夹或文件的CRUD操作
  • 基于ACE Editor,支持各种类型文件的预览和编辑, 如图片预览、代码高亮、markdown语法支持等
  • 文件编辑过程中自动保存
  • 文件夹、文件查询(按名称)

lincell

3. 安装

npm install -g lincell

4. 使用

Usage: lincell [options]

Options:

  -h, --help           output usage information
  -V, --version        output the version number
  -p, --port <number>  use a custom http port(default port is 8222)
  -d, --dir <string>   use a custom path to show(default is current path)

Examples:

  lincell                          # use default port and current path
  lincell -p 9234                  # custom port
  lincell -d /home/sumory          # custom path
  lincell -p 8726 -d /home/sumory  # absolute path is supported
  lincell -p 8843 -d ../path       # relative path is also supported