首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
V2EX  ›  分享创造

正在写一个代码编辑器,Windows/Mac平台的,vim/emacs党请略过

  •  
  •   missdeer · 2013-08-21 09:18:31 +08:00 · 6576 次点击
    这是一个创建于 2299 天前的主题,其中的信息可能已经有所发展或是发生改变。
    基本功能做了一半了,等剩下一半基本功能完成了就到v2ex和twitter上散去~

    几步走:
    1,基本功能,简单说来就是notepad++ clone并FTP/SFTP
    2,增强功能,支持TextMate bundles、支持流行的SCM工具如svn,git,mercurial等
    5,高级功能,支持代码阅读时与SCM rev绑定的comments,集成PasteBin/paste.kde.org/gist,集成clang analyzer,支持Windows search进行全文搜索



    第 1 条附言  ·  2013-08-21 14:01:09 +08:00
    确实没想到多显示器的情况,感觉很实用啊。之前我还一直只看到这种分屏编辑的情况:
    第 2 条附言  ·  2013-08-22 13:45:49 +08:00
    依 @qiuai 的建议,左右双栏分屏编辑
    第 3 条附言  ·  2013-09-14 10:15:28 +08:00
    又有些日子没写代码了
    第 4 条附言  ·  2013-09-16 14:41:45 +08:00
    作为一个代码编辑器,默认得使用等宽字体,Linux用Monospace,Mac用Menlo,Windows用Consolas,这大概是尽量保证每个系统都默认安装有的字体了。
    第 5 条附言  ·  2013-09-16 16:41:25 +08:00
    Windows上的字体渲染貌似就是不如Linux或Mac上好看啊,这是分别用Consolas,FixedSys,Monaco,Source Code Pro四种字体的样式。
    Consolas:

    FixedSys:

    Monaco:

    Source Code Pro:
    第 6 条附言  ·  2013-09-16 20:46:24 +08:00
    Menlo看起来也很一般
    50 回复  |  直到 1970-01-01 08:00:00 +08:00
        1
    cxshun   2013-08-21 09:22:31 +08:00
    杜蕾斯?是我邪恶了吗?
    楼主牛叉。这段时间也要抽时间做做那个爬煎蛋妹子图的东西罗。
        2
    yanwen   2013-08-21 11:44:42 +08:00
    可以增加MD么??
        3
    missdeer   2013-08-21 12:29:14 +08:00
    @yanwen 呃,弱弱地问,哪个MD?
        4
    GordianZ   V2EX Moderator   2013-08-21 12:39:25 +08:00
    @missdeer Markdown...
        5
    fangzhzh   2013-08-21 12:45:34 +08:00
    vim/emacs党怒回一帖,努赞一个
        6
    infinte   2013-08-21 12:47:47 +08:00
    能不能换成 monospace 字体……
    UI 我这里有张 mockup:http://phenacenn.deviantart.com/art/Maari-Text-editor-UI-318796008
    界面库用 vczh 的 gacui 做,效果拔群
        7
    qiuai   2013-08-21 12:56:49 +08:00   ♥ 1
    说说我想要的功能.
    1.Notepad++的基本功能,比如说括号匹配,代码高亮.保存为不同编码,之类的编程用编辑器的基本功能.
    2.界面设计功能,比如说修改编辑区的背景颜色,字体颜色,大小,字体,等.
    3.FTP/SFTP的实时连接,保存,编辑,删除等.麻烦做的好看好用一点.Notepad++的FTP很无语.
    4.双tab并排,或者4tab并排.用来对比代码或者同时写HTML+CSS.
    5.操作栏图标不要这么大.只要不会出现小到会按到旁边的就可以.Notepad++的目前就不算小.
    6.请把tab转换为空格做成开关.不要强制.谢谢.我不喜欢4个空格代替tab,因为排版不好看.除非你可以再在打开的时候把四个空格变成tab....
    7.可以内置一些简单的模版,比如说HTML的

    <!DOCTYPE>
    <html>
    <head>

    </head>
    <body>

    </body>
    </html>


    这样,新建的时候,直接显示这些出来.这样更方便.这个好像有点偏IDE了.


    好像暂时就这些......期待大作.
        8
    luikore   2013-08-21 13:07:59 +08:00
    gtk? mac 上绝对没人用基于 gtk 的界面的
        9
    luikore   2013-08-21 13:10:21 +08:00
    是 qt 么? 工具栏其实可以喀嚓掉...
        10
    saharabear   2013-08-21 13:17:56 +08:00
    我觉得挺好。

    不过为什么要vim/emacs党略过? vim/emacs党更多的是各种编辑器都会根据需要去用的。
        11
    missdeer   2013-08-21 13:48:15 +08:00
    @GordianZ
    @yanwen
    Markdown编辑时高亮之类的容易,要预览甚至实时预览可能困难点

    @infinte 既然是Notepad++,字体是可以自定义的嘛

    @saharabear Qt的,Mac上除了包体积大,UI上跟原生的差不多,工具栏可以加个开关显示/隐藏

    @qiuai 123是肯定的,4确实没想过,是个好思路,5到时候应该会请个旁边的美工妹子重新设计一套,6肯定是可以自定义的,7可以考虑
        12
    qiuai   2013-08-21 13:50:44 +08:00
    @missdeer 我现在是双显示器,但是Notepad++只能开一个,所以对比或者同时写两个页面的时候,就要来回切换,巨麻烦. 7这个好像IDE都有,但是notepad++之类的都没有...这个很方便啊.省不少事的.
        13
    missdeer   2013-08-21 13:59:22 +08:00
    @qiuai 嗷嗷,很久前也听别人说过多显示器编辑的问题,我一直只用一个显示器的,确实忽视了。
        14
    qiuai   2013-08-21 20:51:12 +08:00
    @missdeer 嗯..要是能做的这么漂亮...花钱我也买了....
        15
    SharkIng   2013-08-21 21:06:41 +08:00
    @qiuai 弱弱问一下你这个是什么编辑器??
        16
    meta   2013-08-21 21:11:43 +08:00
    @qiuai 你这就是个终端啊,跟编辑器有啥关系?
        17
    ijse   2013-08-21 22:02:05 +08:00
    那一排工具栏按钮,个人从来不用,更喜欢sublime的简洁之道。

    希望楼主多参考sublime text~~
        18
    qiuai   2013-08-21 22:17:35 +08:00
    @SharkIng @meta 这不是编辑器...我只是想说一下我喜欢这种效果...
        19
    CoX   2013-08-22 13:51:47 +08:00
    @qiuai 7 emeditor有
        20
    qiuai   2013-08-22 14:14:40 +08:00
    @CoX 不想换.要换的话我就随便找个IDE了
        21
    jjgod   2013-08-22 22:10:10 +08:00
    截图里的脚本应该用 cp -R 而不是 cp -r, 在 OS X 下 cp -r 不能保留 symlink,所以复制 framework 的时候一般都应该用 cp -R。
        22
    missdeer   2013-08-23 08:41:43 +08:00
    @jjgod 受教!
        23
    maxiaojun   2013-08-23 14:46:14 +08:00
    如果是 Qt 何不支持 Linux ?
        24
    missdeer   2013-08-23 14:52:45 +08:00
    @maxiaojun 不是不支持,而是略过不说,感觉Linux党应该不会用这类东西。
        25
    maxiaojun   2013-08-23 14:57:25 +08:00
    @missdeer 我就想用啊…

    别把Vim/Emacs这两跨平台编辑器和Linux绑定起来好不?

    Vim最早的平台是AmigaOS,Emacs也起源于非Unix系统。
        26
    missdeer   2013-08-23 15:16:41 +08:00
    @maxiaojun 好吧,其实上面第2张截图就是在Win7上用Xming通过SSH X11 forwarding运行CentOS上的程序的样子,三种系统目前都没问题。
        27
    itaotao   2013-08-24 10:11:16 +08:00
    看着还不错的样子 楼主用啥语言写的
        28
    josephshen   2013-08-24 10:20:18 +08:00
    Qt做的界面?
        29
    josephshen   2013-08-24 10:21:22 +08:00
    只要有人做UI设计,美化相对很容易的。
        30
    ruoyu0088   2013-08-24 10:26:58 +08:00
    @qiuai Notepad++开多个窗口的方式和流行的浏览器,例如firefox的方式一样,只需要用鼠标把Tab拖到窗口外面就可以了。

    至于模板,安装一个Snippet插件就可以了。
    Notepad++还有一个Python插件可以用Python写扩展,所以基本上扩展性是足够的。
        31
    qiuai   2013-08-24 11:32:11 +08:00
    @ruoyu0088 原来有了啊,谢谢~
        32
    coolcfan   2013-08-26 14:34:41 +08:00
    楼主专注使用推特上妹子的ID当软件名字三十年。。。
        33
    AstroProfundis   2013-08-26 14:40:53 +08:00
    楼上+1
        34
    yangff   2013-09-14 14:58:15 +08:00
    界面比较难看……
    字体和代码编辑器硬伤……写代码用非等宽的字体会让强迫症患者一秒钟也看不下去。
        35
    missdeer   2013-09-14 20:52:16 +08:00
    @yangff 这确实是个问题,看来配置文件也得能根据不同平台做不同设置了。。。
        36
    hustlzp   2013-09-14 21:05:10 +08:00
    能做编辑器的都是牛人,顶一个。
        37
    yangff   2013-09-16 20:46:33 +08:00
    字体渲染可以自带freetype……
        38
    sgissb1   2013-09-16 21:51:41 +08:00
    “简单说来就是notepad++ clone并FTP/SFTP”

    这句话没看懂

    另外你拿什么语言做?不同开发语言,开发周期是不同的,另外什么界面库?求带一起搞。
        39
    sgissb1   2013-09-16 21:53:06 +08:00
    从截图上看,应该是c++,用了QT。

    不过还是没搞懂你说的那句话。哈哈哈。如果你不是从notepad++改代码的话,字符串解析你不累吗?
        40
    missdeer   2013-09-16 23:08:08 +08:00 via iPhone
    @sgissb1 意思是 notepad++ clone加ftp/sftp功能,因为我原本以为notepad++没有ftp功能。
    绝对没有抄notepad++的代码,它基本上是用windows sdk写的,我要的是能在mac和linux上跑的,抄不了。
        41
    sgissb1   2013-09-17 11:15:48 +08:00
    @missdeer 干嘛你会认为我在说你抄呢?基于他的上面做二次开发也行的。。。。

    不过我确实很好奇,你做字符串解析你怎么做。尤其是语法这块。
        42
    missdeer   2013-09-17 12:14:24 +08:00
    @sgissb1 用第三方控件Scintilla实现,不用自己弄。
        43
    qiuai   2013-09-17 12:24:31 +08:00
    @missdeer 来一份试试咋样...
    Q:39831817
        44
    sgissb1   2013-09-17 12:48:16 +08:00
    @missdeer 求带啊,我主要做win的,顺便也能一起熟悉mac环境的开发
        45
    missdeer   2013-09-17 14:31:14 +08:00
    @sgissb1 不打算开源,所以抱歉了。
        46
    sgissb1   2013-09-17 16:07:09 +08:00
    @missdeer 没事,刚好最近有事做。
        47
    darklowly   2013-09-18 11:54:31 +08:00
    @missdeer 我看这造型 好像就是Scintilla
        48
    alexrezit   2013-09-18 12:15:47 +08:00
    好丑... 怎么像用 Java 做的...
        49
    frogs   2013-09-18 12:40:29 +08:00
    做一个编辑器需要相当的毅力,希望楼主能做个精品出来。
        50
    yeahren   2013-09-18 15:54:14 +08:00
    略屌。。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1746 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 16:20 · PVG 00:20 · LAX 08:20 · JFK 11:20
    ♥ Do have faith in what you're doing.