﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Jeff Lee-随笔分类-mono</title><link>http://www.blogjava.net/jefflee/category/47206.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 01 Dec 2010 10:37:49 GMT</lastBuildDate><pubDate>Wed, 01 Dec 2010 10:37:49 GMT</pubDate><ttl>60</ttl><item><title>MonoDevelop 插件开发的简单例子</title><link>http://www.blogjava.net/jefflee/archive/2010/12/01/339491.html</link><dc:creator>Jeff Lee</dc:creator><author>Jeff Lee</author><pubDate>Wed, 01 Dec 2010 05:12:00 GMT</pubDate><guid>http://www.blogjava.net/jefflee/archive/2010/12/01/339491.html</guid><wfw:comment>http://www.blogjava.net/jefflee/comments/339491.html</wfw:comment><comments>http://www.blogjava.net/jefflee/archive/2010/12/01/339491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jefflee/comments/commentRss/339491.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jefflee/services/trackbacks/339491.html</trackback:ping><description><![CDATA[了解了一下关于MonoDevelop插件开发的东西，按照官方文档提供的<a href="http://monodevelop.com/Developers/Articles/Creating_a_Simple_Add-in">例子</a>，也就是插入当前日期的小功能。基本没什么问题。<br />需要注意的一点是在最新的MonoDevelop例子会跑不通，出现了下面这个问题<div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">WARNING: The add</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 255);">in</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 0);">'</span><span style="color: rgb(128, 0, 0);">MonoDevelop.DateInserter.Samples,2.0</span><span style="color: rgb(128, 0, 0);">'</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">is</span><span style="color: rgb(0, 0, 0);"> trying to extend </span><span style="color: rgb(128, 0, 0);">'</span><span style="color: rgb(128, 0, 0);">/MonoDevelop/Ide/Command/Edit</span><span style="color: rgb(128, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">, but there isn</span><span style="color: rgb(128, 0, 0);">'</span><span style="color: rgb(128, 0, 0);">t any compatible add-in defining this extension point</span></div>然后插件没法用。<br />一开始试了很久，google了好久都没找到答案。<br />后来瞟到<em>MonoDevelop.Samples.DateInserter.addin.xml 文件时，看到这个<div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">Dependencies</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">  <br />    </span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">Addin id</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">Ide</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> version</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">2.0</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">/&gt;</span><span style="color: rgb(0, 0, 0);">  <br /></span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">Dependencies</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">  </span></div>忽然想到会不会是这个问题呢，参照其他插件源码的xml文件，把这个改为<div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">Dependencies</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">  <br />  </span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">Addin id</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">Ide</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> version</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(128, 0, 0);">2.4</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">/&gt;</span><span style="color: rgb(0, 0, 0);">  <br /></span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">Dependencies</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">  </span></div>发现居然成功了~<br /></em><img src ="http://www.blogjava.net/jefflee/aggbug/339491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jefflee/" target="_blank">Jeff Lee</a> 2010-12-01 13:12 <a href="http://www.blogjava.net/jefflee/archive/2010/12/01/339491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Monodevelop 编译 Python 插件</title><link>http://www.blogjava.net/jefflee/archive/2010/11/30/339379.html</link><dc:creator>Jeff Lee</dc:creator><author>Jeff Lee</author><pubDate>Tue, 30 Nov 2010 04:53:00 GMT</pubDate><guid>http://www.blogjava.net/jefflee/archive/2010/11/30/339379.html</guid><wfw:comment>http://www.blogjava.net/jefflee/comments/339379.html</wfw:comment><comments>http://www.blogjava.net/jefflee/archive/2010/11/30/339379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jefflee/comments/commentRss/339379.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jefflee/services/trackbacks/339379.html</trackback:ping><description><![CDATA[MonoDevelop是移植了sharpdevelop的，提供了插件机制。（据说sharpdevelop的插件机制是参考了eclipse的插件机制。。。）<br />其实写python的话，PyDev插件已经相当优秀了，在MonoDevelop上装Python插件主要是为了学习一下mono编程，既然要学习，自然要学会从源码编译插件。<br />编译过程其实也是相当简单~<br />到monodevelop官网下载打包好的<a href="http://ftp.novell.com/pub/mono/sources/monodevelop-python/monodevelop-python-2.4.tar.bz2">源代码</a><br /><div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">tar jxvf monodevelop</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">python</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">2.4</span><span style="color: rgb(0, 0, 0);">.tar.bz2<br />cd monodevelop</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">python</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">2.4</span><span style="color: rgb(0, 0, 0);"><br />source mono</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">2.8</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">environment<br />.</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">configure<br />make<br />sudo make install</span></div><br />关于monodevelop python插件的用法请参考作者的主页上的<a href="http://dronelabs.com/projects/monodevelop-python/">教程</a><br />可以看到这个插件目前已经实现了代码补全的功能，总体上来说跟PyDev的差距还是相当大的，改进的地方也很多。打算接下来修改一下它的源码，应该是一个不错的学习过程~<br /><img src ="http://www.blogjava.net/jefflee/aggbug/339379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jefflee/" target="_blank">Jeff Lee</a> 2010-11-30 12:53 <a href="http://www.blogjava.net/jefflee/archive/2010/11/30/339379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu 10.04 编译 monodevelop</title><link>http://www.blogjava.net/jefflee/archive/2010/11/30/339368.html</link><dc:creator>Jeff Lee</dc:creator><author>Jeff Lee</author><pubDate>Tue, 30 Nov 2010 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/jefflee/archive/2010/11/30/339368.html</guid><wfw:comment>http://www.blogjava.net/jefflee/comments/339368.html</wfw:comment><comments>http://www.blogjava.net/jefflee/archive/2010/11/30/339368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jefflee/comments/commentRss/339368.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jefflee/services/trackbacks/339368.html</trackback:ping><description><![CDATA[不知是不是由于Novell跟Canonical的竞争关系，monodevelop的首页不提供ubuntu的deb包下载，ubuntu源上的monodevelop安装包也是比较老的版本，例如10.04上的mono是2.4, monodevelop则是 2.2， mono和monodevelop官方的版本则已经是2.8和2.4了。为了了解学习.net的跨平台特性，还是有必要安装最新的mono和monodevelop的。好在mono运行环境提供了一种parallel environment的安装方式，也就是一个操作系统安装多个mono环境，最新的monodevelop同样需要运行在最新版本的mono上。<br /><br />本文实验环境： vmware 7.1 + ubuntu 10.04, 内存 1G<br /><br />总的来说编译安装monodevelop 2.4需要两个步骤：<br />1. 安装mono 2.8 parallel environment : <br />mono官方没提供deb包下载，不过有开发者打包好了ubuntu安装包，具体参见这个博客  ： <a href="http://blog.fusonic.net/2010/10/mono-2-8-parallel-environment-debianubuntu-package/"> Mono 2.8 parallel environment debian/ubuntu package</a><br />上面也有下载链接，下载之后命令行sudo dpkg -i mono-2.8-parallel-environment.deb 或者直接双击安装<br /><br />2. 编译安装monodevelop ：<br />到monodevelop 官方网站下载<a href="http://ftp.novell.com/pub/mono/sources/monodevelop/monodevelop-2.4.1.tar.bz2">monodevelop源码</a><br />解压之后按照linux编译、安装的正常步骤就可以了，具体不再细说<br /><div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">source mono-2.8-environment<br />tar jxvf monodevelop</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">2.4</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">.tar.bz2<br />cd monodevelop</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">2.4</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"><br />.</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">configure<br />make<br />sudo make install</span></div>source mono-2.8-enrironment的作用是为了让系统使用mono parallel environment<br />在./configure可能会提示缺少工具，直接apt-get 就可以了。<br /><br /><img src ="http://www.blogjava.net/jefflee/aggbug/339368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jefflee/" target="_blank">Jeff Lee</a> 2010-11-30 11:33 <a href="http://www.blogjava.net/jefflee/archive/2010/11/30/339368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>