您的位置:首页 > 其它

Windows Live Writer试用及众多插件试用评测

2009-10-17 18:21 369 查看
write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件      一直比较被CSDN的博客系统所折磨,很多东西一直不太好用,在线编辑功能有多么不好用就不多数了,当年手一滑还可能在页面跳转时丢失全文,现在这点有所改善,在切换页面时有提醒,但是贴图片的操作还是如此的复杂,默认宽度还是无法调节,在我的1440*900的显示器上就像在800*600上编辑一样,让人崩溃。离线编辑明显还是更安全,更方便,也能在本地保存一份,所以使用上了Word2007,Word2007附带有博客发表功能,编辑功能足够的强大,贴图片更加方便了,但是可惜通过Word2007发表后的博文总是会格式不对,最气人的就是格式离谱到标题2比标题1要大,C++语言的#include <xxx>永远被解析,然后变成#include空气,也没有办法预览效果,直接编辑发布后的HTML。导致我非常郁闷,只能先通过,后来与CSDN负责人的工作人员联系了一下,他推荐我使用Windows Live Writer(以下简称WLW),我就试用了一下,感觉编辑功能太过简陋,首先复制粘贴会丢失格式,那么就没有办法直接粘贴代码附带颜色和格式了,并且不能自定义格式模板,即将段落,标题的格式改成自定义的,还不能通过模板新建文章,因为以上缺点,直接放弃了WLW。后来在网上看到有人说WLW是世界上最好的博客编写发布软件,甚至在Linux下他也是通过Wine去运行WLW写博客,我才准备回过头来确认一下,WLW真的有这么好吗?网上搜索了一下这几个缺陷,既然WLW支持插件系统,希望有插件可以解决问题吧,我将http://gallery.live.com/上感觉可能有用的插件全部下载回来,逐一尝试,顺面公布一下结果,免得大家做重复工作。以下是我下载回来的插件:

 

  作为程序员的技术博客,插入代码没有高亮的问题首先是肯定要解决的,以下以一段OpenGL相关的C++程序片段为例,其中包含了#include,宏定义,函数定义,中文注释等,展示全部效果给大家看, 相关插件很多:

CodeSnippet

界面,配置选项非常多,感觉不错。还可选择silent模式,以后直接从剪贴板中按照原来的配置添上代码,简洁明快,很好,就是目前没有发现怎么关闭silent模式-_-! 最后在Documents and Settings/<用户名>/Application Data/Leo Vildosola/Code Snippet plugin for Windows Live Writer下找到了其配置文件CodeSnippet.dll.config,编辑RunSilent为false如下后修复。 <RunSilent>false</RunSilent>

  实际代码出现效果,可配置,可用容器显示滚动条效果以限制源代码所占篇幅(可惜高度不可以通过GUI方便的调节),格式正常,颜色漂亮,支持中文。感觉不错。有个缺点就是不是用容器的时候无法一次选择然后配置。
1: 


2: // OpenGL需要的头文件


3: #include <GL/glew.h>


4: #include <GL/glut.h>


5: 


6: //定义程序链接时所需要调用的OpenGL程序库,简化工程配置


7: #pragma comment( lib, "glu32.lib" )


8: #pragma comment( lib, "glut32.lib" )


9: 


10: // DEFINES ////////////////////////////////////////////////


11: 


12: // MACROS /////////////////////////////////////////////////


13: 


14: #define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)


15: #define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)


16: 


17: // GLOBALS ////////////////////////////////////////////////


18: HWND      ghWnd; // 窗口句柄


19: HINSTANCE ghInstance; // 程序实例句柄


20: 


21: #define FRAME_PER_SECOND (30)


22: #define TIME_IN_FRAME (1000/FRAME_PER_SECOND)


23: #define CIRCLE_POINTS (100)


24: #define PI (3.1415926535898)


25: 


26: // 取消 OpenGL ,在程序结束前调用,释放渲染环境,设备环境以及最终窗口句柄。


27: void DisableOpenGL()


28: {


29:     wglMakeCurrent( NULL, NULL );


30:     wglDeleteContext( ghRC );


31:     ReleaseDC( ghWnd, ghDC );


32: }


33: 




 



1: // OpenGL需要的头文件


2: #include <GL/glew.h>


3: #include <GL/glut.h>


4: 


5: //定义程序链接时所需要调用的OpenGL程序库,简化工程配置


6: #pragma comment( lib, "glu32.lib" )


7: #pragma comment( lib, "glut32.lib" )


8: 


9: // DEFINES ////////////////////////////////////////////////


10: 


11: // MACROS /////////////////////////////////////////////////


12: 


13: #define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)


14: #define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)


15: 


16: // GLOBALS ////////////////////////////////////////////////


17: HWND      ghWnd; // 窗口句柄


18: HINSTANCE ghInstance; // 程序实例句柄


19: 


20: #define FRAME_PER_SECOND (30)


21: #define TIME_IN_FRAME (1000/FRAME_PER_SECOND)


22: #define CIRCLE_POINTS (100)


23: #define PI (3.1415926535898)


24: 


25: // 取消 OpenGL ,在程序结束前调用,释放渲染环境,设备环境以及最终窗口句柄。


26: void DisableOpenGL()


27: {


28:     wglMakeCurrent( NULL, NULL );


29:     wglDeleteContext( ghRC );


30:     ReleaseDC( ghWnd, ghDC );


31: }




 

Paste As VS Code

界面如下,选项还算比较丰富,但是明显没有CodeSnippet





代码效果还行,并且可以一次选中然后进一步配置,就是对中文支持有些问题,可惜了。还有标题栏可以选择显示,就是不能编辑,奇怪的设置。







 

// OpenGL??的头文件

#include <GL/glew.h>

#include <GL/glut.h>

 

//定义程序?接时所???用的OpenGL程序库,简化工程?置

#pragma comment( lib, "glu32.lib" ) 

#pragma comment( lib, "glut32.lib" ) 

 

// DEFINES ////////////////////////////////////////////////

 

// MACROS /////////////////////////////////////////////////

 

#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)

#define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

 

// GLOBALS ////////////////////////////////////////////////

HWND      ghWnd; // 窗口句柄

HINSTANCE ghInstance; // 程序实例句柄

 

#define FRAME_PER_SECOND (30)

#define TIME_IN_FRAME (1000/FRAME_PER_SECOND)

#define CIRCLE_POINTS (100)

#define PI (3.1415926535898)

 

// 取消 OpenGL ?在程序结束前?用??放渲染环境??备环境以及最终窗口句柄。

void DisableOpenGL()

{

    wglMakeCurrent( NULL, NULL );

    wglDeleteContext( ghRC );

    ReleaseDC( ghWnd, ghDC );

}








 

Source Code Formater:

界面,很大,感觉不错,虽然配置选项其实不多,也可选择box格式,不过效果一般。





全文格式效果一般,颜色明显没有Code Snippet丰富,而且代码行间距实在太大,还无法配置.

[code]  1:
2: // OpenGL需要的头文件
[/code]
3: #include <GL/glew.h>
4: #include <GL/glut.h>
5:
6: //定义程序链接时所需要调用的OpenGL程序库,简化工程配置
7: #pragma comment( lib, "glu32.lib" )
8: #pragma comment( lib, "glut32.lib" )
9:
10: // DEFINES ////////////////////////////////////////////////
11:
12: // MACROS /////////////////////////////////////////////////
13:
14: #define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
15: #define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)
16:
17: // GLOBALS ////////////////////////////////////////////////
18: HWND      ghWnd; // 窗口句柄
19: HINSTANCE ghInstance; // 程序实例句柄
20:
21: #define FRAME_PER_SECOND (30)
22: #define TIME_IN_FRAME (1000/FRAME_PER_SECOND)
23: #define CIRCLE_POINTS (100)
24: #define PI (3.1415926535898)
25:
26: // 取消 OpenGL ,在程序结束前调用,释放渲染环境,设备环境以及最终窗口句柄。
27: void DisableOpenGL()
28: {
29:     wglMakeCurrent( NULL, NULL );
30:     wglDeleteContext( ghRC );
31:     ReleaseDC( ghWnd, ghDC );
32: }
33:
34:


 

一个syntaxhighlighter

似乎要和Windows的博客空间相匹配,而且配置界面感觉很简陋,在我的机器上以insert就崩溃





 

另一个Syntax Highlighter

界面简陋





颜色还不错,但是不支持中文,一票否决.

// OpenGLÐèÒªµÄÍ·Îļþ
#include <GL/glew.h>
#include <GL/glut.h>

//¶¨Òå³ÌÐòÁ´½ÓʱËùÐèÒªµ÷ÓõÄOpenGL³ÌÐò¿â,¼ò»¯¹¤³ÌÅäÖÃ
#pragma comment( lib, "glu32.lib" )  
#pragma comment( lib, "glut32.lib" )  

// DEFINES ////////////////////////////////////////////////

// MACROS /////////////////////////////////////////////////

#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

// GLOBALS ////////////////////////////////////////////////
HWND      ghWnd; // ´°¿Ú¾ä±ú
HINSTANCE ghInstance; // ³ÌÐòʵÀý¾ä±ú

#define FRAME_PER_SECOND (30)
#define TIME_IN_FRAME (1000/FRAME_PER_SECOND)
#define CIRCLE_POINTS (100)
#define PI (3.1415926535898)

// È¡Ïû OpenGL £¬ÔÚ³ÌÐò½áÊøÇ°µ÷Óã¬ÊÍ·ÅäÖȾ»·¾³£¬É豸»·¾³ÒÔ¼°×îÖÕ´°¿Ú¾ä±ú¡£
void DisableOpenGL()
{
	wglMakeCurrent( NULL, NULL );
	wglDeleteContext( ghRC );
	ReleaseDC( ghWnd, ghDC );
}


还有一个syntax highter,需求真是大啊,软件如此多。可





名不符实,根本没有高亮,仅仅只有缩进。但是可以一次选中然后配置,这点比较好。支持中文。


// OpenGL需要的头文件
#include <GL/glew.h>
#include <GL/glut.h>

//定义程序链接时所需要调用的OpenGL程序库,简化工程配置
#pragma comment( lib, "glu32.lib" )  
#pragma comment( lib, "glut32.lib" )  

// DEFINES ////////////////////////////////////////////////

// MACROS /////////////////////////////////////////////////

#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

// GLOBALS ////////////////////////////////////////////////
HWND      ghWnd; // 窗口句柄
HINSTANCE ghInstance; // 程序实例句柄

#define FRAME_PER_SECOND (30)
#define TIME_IN_FRAME (1000/FRAME_PER_SECOND)
#define CIRCLE_POINTS (100)
#define PI (3.1415926535898)

// 取消 OpenGL ,在程序结束前调用,释放渲染环境,设备环境以及最终窗口句柄。
void DisableOpenGL()
{
	wglMakeCurrent( NULL, NULL );
	wglDeleteContext( ghRC );
	ReleaseDC( ghWnd, ghDC );
}



Paste from Visual Studio

完美复制visual studio的代码,从其他地方拷贝过来的无效,无界面配置。用途单一。

// OpenGL需要的头文件
#include <GL/glew.h>
#include <GL/glut.h>

//定义程序链接时所需要调用的OpenGL程序库,简化工程配置
#pragma comment( lib, "glu32.lib" )  
#pragma comment( lib, "glut32.lib" )  

// DEFINES ////////////////////////////////////////////////

// MACROS /////////////////////////////////////////////////

#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)

// GLOBALS ////////////////////////////////////////////////
HWND      ghWnd; // 窗口句柄
HINSTANCE ghInstance; // 程序实例句柄

#define FRAME_PER_SECOND (30)
#define TIME_IN_FRAME (1000/FRAME_PER_SECOND)
#define CIRCLE_POINTS (100)
#define PI (3.1415926535898)

// 取消 OpenGL ,在程序结束前调用,释放渲染环境,设备环境以及最终窗口句柄。
void DisableOpenGL()
{
    wglMakeCurrent( NULL, NULL );
    wglDeleteContext( ghRC );
    ReleaseDC( ghWnd, ghDC );
}


代码及语法高亮插件小结

没有感觉完美的插件,相对来说不支持中文的我们不考虑了,不支持C++的我不考虑了,最后结论是仅仅使用VS的人可以考虑Paste from Visual Studio,够用就行,不然CodeSnippet是最佳选择,比那么多的syntax highlighter都要好用,Source Code Formater可以作为第二选择,相对来说显示效果没有CodeSnippet好,配置选项没有那么丰富。

其他插件:

MSDN Link

感觉不错,作用也很好,说是能很方便的查找添加MSDN的关键字链接,可是我连查wglMakeCurrent,wglDeleteContext,ReleaseDC都不存在,然后查了个简单的abs都查不到,有可能是网络问题,但是现在我网络状况很好,可惜了。

 



 

from console

将控制台中复制的东西插入,因为我常用putty登录linux,然后展示命令行的东西,所以对我个人也很实用,也许一般人没有什么用吧。Windows的命令行甚至可以显示命令高亮-_-!功能强大,好用,虽然没有任何配置的办法。

Windows:

C:/>dir/w
 驱动器 C 中的卷没有标签。
 卷的序列号是 6854-7E94

 C:/ 的目录

AnalysisLog.sr0          AUTOEXEC.BAT             CONFIG.SYS
[Documents and Settings] [Download]               [Downloads]
[ppt]                    [Program Files]          [TDDOWNLOAD]
[Temp]                   [WINDOWS]
               3 个文件        419,464 字节
               8 个目录  1,806,254,080 可用字节

C:/>

Linux:

jtianling@jtianling-laptop:~$ ls -l | head -n 5
总用量 20772
-rwxrw-r--  1 jtianling jtianling     1570 2008-10-26 16:59 1
-rwxrw-r--  1 jtianling jtianling       11 2009-08-21 17:25 1.bat
-rwxrw-r--  1 jtianling jtianling       80 2008-11-12 23:45 allhead
-rw-r--r--  1 jtianling jtianling        0 2009-08-29 12:37 a.out
jtianling@jtianling-laptop:~$

 

Rich Editor

有点像代码高亮的插件,但是仅支持C#和VB.net,还不支持中文,图都不想贴。

 

SnagIt Screen Capture

能将抓的图直接粘贴到WLW中,甚至不保存,节省大量时间,强烈推荐使用,首先要安装SnagIt。有一点问题就是配置太少无法抓WLW本身的图,医者不自医?-_-!





 

WikiPedia Link

直接插入关键字在Wiki的链接,相对来说,由于Wiki的目录设置,其直接通过字符串生成了Wiki的链接,甚至没有查看一下链接是否存在,这点比较郁闷,但是总的来说还是值得一用。比如右边,C++,就是用此插件插入的,当肯定链接存在时不妨一用。

 

Word Count

原以为WLW中没有统计字数的功能,后来我发现本来就有,那还要这个干啥?还要求先选中全文-_-!无语了。

 

Text Template

有点类似VA的Snippets功能,保存文本的模板,可惜的是不能将全部格式保留下来,所以将范围限制在了最最简单的文字,有点可惜。

 

总结

以上就是我使用过的插件,感觉Windows Live Writer本身可能不是太好用,但是没有关系,有了这些插件后,就好用多了,对于我来说,特别重要的是语法高亮的插件,这也算是开放的一个好处吧,希望微软多多开放,就像VS及WLW走的路一样。

本文因为操作Windows live Writer失误,被新的文章覆盖,通过Google cache奇迹般地找回,感谢Google-_-!


原创文章作者保留版权 转载请注明原作者 并给出链接

write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie

 

var sitebro_tracker_atc_kw = {u:'http://www.sitebot.com.cn/754892/',w:'NzU0ODky',bt:'#804000',bg:'#FFFFCC',fs:1,ca:'#666666',bh:'#f4f4c6',cp:'',l:10,s:1,lang:'zh_CN'};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: