发布一个轻型文件编辑器 - lincell,一行命令创建IDE,Nodejs环境下轻松搭建,欢迎试用

发布一个轻型文件编辑器 - lincell,一行命令创建IDE,Nodejs环境下轻松搭建,欢迎试用

1. 前言

刚发布一个叫做lincell的模块,第一版放出来遛遛,可以通过npm安装使用,支持windows和linux平台,mac没有测试,应该也是可以的。等下一版本会对代码做大的更改,不过使用者不用管,除非你要看代码,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


9 回复

发布一个轻型文件编辑器 - lincell,一行命令创建IDE,Nodejs环境下轻松搭建,欢迎试用

1. 前言

刚发布一个叫做 lincell 的模块,第一版放出来遛遛,可以通过 npm 安装使用,支持 Windows 和 Linux 平台,Mac 没有测试,应该也是可以的。等下一版本会对代码做大的更改,不过使用者不用管,除非你要看代码,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                          # 使用默认端口和当前路径
  lincell -p 9234                  # 自定义端口
  lincell -d /home/sumory          # 自定义路径
  lincell -p 8726 -d /home/sumory  # 绝对路径支持
  lincell -p 8843 -d ../path       # 相对路径支持

希望这个轻型文件编辑器能为您的开发工作带来便利!


不错,之前装nide老不成功。但试用了一下,也发现了一些问题,可以新建目录和文件,但不能将之删除。另外什么时候有代码提示的功能呢?

代码提示?你指的是自动完成还是api提示之类的功能?如果是这样的话,那估计不行。但如果你指的是检查一些代码的错误或者提示的吧,还是可以的,ace都是支持的,比如我有打开jslint的选项.

我是指的是自动完成,Cloud9 IDE就有这个功能吧。

这个做不了,要分析各种sdk,很复杂,cloud9没注意看是不是有

目前版本0.0.6,建议升级,已支持node0.10.x,修复了在0.10.x上直接lincell的bug.

继续加油!!

5. 示例代码

为了更好地展示lincell的工作原理,我们可以查看其核心部分的代码片段。下面是一个简单的实现示例,说明如何启动一个HTTP服务器,并提供一个基本的文件浏览器。

// app.js
const express = require('express');
const path = require('path');
const fs = require('fs');

const app = express();
const PORT = process.env.PORT || 8222;

app.use(express.static(path.join(__dirname, 'public')));

app.get('/files', (req, res) => {
    const dirPath = req.query.dir || process.cwd();
    fs.readdir(dirPath, (err, files) => {
        if (err) {
            return res.status(500).send(err);
        }
        res.json(files.map(file => path.join(dirPath, file)));
    });
});

app.listen(PORT, () => {
    console.log(`lincell listening at http://localhost:${PORT}`);
});

6. 启动 lincell

确保已经全局安装了lincell,可以使用以下命令启动:

lincell

或者自定义端口和路径:

lincell -p 8726 -d /home/user/my-project

7. 功能解析

  • 文件展示/files 路由通过读取指定目录下的文件列表,并以JSON格式返回。
  • 静态资源服务:使用express.static中间件来服务前端的静态资源,如HTML、CSS和JavaScript文件。

8. 总结

lincell是一个轻量级的文件编辑器,通过简单的配置即可使用。你可以根据需要扩展更多的功能,例如文件上传下载、代码折叠、Markdown预览等。希望你能喜欢这个小工具!

回到顶部