在虚拟机环境下使用Linux编写和阅读代码,我之前一直是通过Xshell利用ssh登录至虚拟机从而在命令行下使用vim来进行的。目前有阅读开源代码的需要,虽然vim+ctags+cscope可以完成这项工作,不过对我来说毕竟还是用鼠标操作窗口更容易入门,因此希望能在Windows环境下阅读和修改Linux虚拟机的开源代码。

  能完成这个要求的途经不少,这里介绍一个比较简单的方式:SftpDrive+SourceInsight。其中SftpDrive用于将SSH服务器映射为Windows网络驱动器,而SourceInsight用于代码阅读和编写,这里的代码以Nginx源码为例(实际设置时并无区别)。

  由于SftpDrive使用的是SSH,因此映射的对象不仅限于虚拟机。同时在使用前请确保欲映射的目标的SSH服务已开启,然后启动SftpDrive,如下图中进行设置:

  为了能获得所有目录的完全修改权限,建议使用root进行登录,并且显示的文件夹选择"Show the entire server"。不过此后进行删除和修改操作时要格外小心。

  设置完毕并Connect,可以看到计算机中多出了一个盘符,这时就可以像操纵本地文件一样读写虚拟机里的文件了。

  更近一步地,可以使用SourceInsight对源码进行查看和修改。由于SourceInsight的介绍文章很多,下面仅以Nginx1.4.2的源码为例简单介绍一下。

  进入SourceInsight,选择Project->New Project,输入项目名和项目数据存放目录(不是源码目录,最好用本地目录):

  接下来才是选择源码所在目录:

  

  这时选择Add Tree就可以了。注意有时使用Add Tree可能无法添加文件,如果确保过滤选项无误,可以重启计算机再试试。  

其他参考资料:

  Source Insight设置总结

  让Source Insight完美支持中文注释

使用SftpDrive+SourceInsight阅读开源代码的更多相关文章

  1. CWMP开源代码研究2——easycwmp安装和学习

    声明:本文是对开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅号:408797506) 本文所有笔记和代码可以到csdn下载:http://download.csdn.n ...

  2. CWMP开源代码研究1——开篇之作

    原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...

  3. c 开源代码

    阅读优秀代码是提高开发人员修为的一种捷径……1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在 ...

  4. 使用doxygen静态分析开源代码

    doxygen是一款生成开源代码说明文件的工具,因为不需要编译源码,用作代码的分析也十分方便. 一.安装 sudo apt-get install graphviz sudo apt-get inst ...

  5. [原] corePlot 类库与iOS自带类库使用方法对比(很多开源代码都有这个特点)

    ——人类最倚重的是自己的“以往经验”.—— 我们直接看一下在corePlot 类库和iOS自带类中为一个控件设置文本显示格式的实现.   * corePlot 类库中,为一个对象设置标题显示格式 , ...

  6. 最大开源代码sourceforge 简介 及视音频方面常用的开源代码

    所有的音视频凯源代码在这里:http://sourceforge.net/directory/audio-video/os:windows/,你可以下载分析,视频不懂请发邮件给我,帮你分析. 0.视频 ...

  7. CWMP开源代码研究——git代码工程

    原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...

  8. 一个可随意定位置的带色Toast——开源代码Crouton的简单使用

    今天在公司要求的代码中,要求显示的提示能够更加具有多样化,而不是简单的Toast字样,第一想法肯定是自定义View呀,结果在浏览中发现还有这样的一个开源代码——Crouton. 几经折腾,发现这个东西 ...

  9. GitHub + VSTS 开源代码双向同步

    GitHub已经是全球开源代码的大本营了,通过以下统计你可以看到仅仅javascript在github就有超过32万个活动的repo.很多开发人员都会把自己的一部分代码分享到github上进行开源,一 ...

随机推荐

  1. Android-->猜拳小游戏

    --> 简单的 页面跳转 和 点击事件 的实现... --> AndroidManifest.xml <?xml version="1.0" encoding=& ...

  2. MACOS无限试用Cornerstone的方法

    MacOS上Cornerstone用起来还是比较好用的,除了add文件目录时不把底下的文件add上去之外.其实之前用Versions也还可以,奈何太贵,买不起正版,破解版又不好用.Cornerston ...

  3. HTTP请求 GET POST 网络编程实现(转)

    尊重原作者收集的资料,复制粘贴只为了避免作者文章出处哪天抽风了访问不了了导致资料消失. 原文地址 http://bbs.neworigin.net/forum.php?mod=viewthread&a ...

  4. cf340D Bubble Sort Graph

    link:http://codeforces.com/problemset/problem/340/D 感觉很好的一道题目. 认真思考,发现,逆序的数字对一定有边相连.所以,题目要求没有边相连的最大的 ...

  5. 第七课第一节,T语言流程语句( 版本5.0)

    流程语句 if语句 用if语句可以构成分支结构.它根据给定的条件进行判断,以决定执行某个分支程序段.TC综合开发工具的if语句有三种基本形式,并且每个语句的结尾都要有一个end (注:关键字,if,e ...

  6. python是一个解释器

    python是一个解释器 利用pip安装python插件的时候,观察到python的运作方式是逐步解释执行的 适合作为高级调度语言: 异常的处理以及效率应该是主要的问题

  7. android之 listview加载性能优化ViewHolder

    在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候, ...

  8. Python 爬虫学习 urllib

    网页抓取 # -*-coding: utf-8 -*- import urllib url = "http://www.cndzz.com/" html = urllib.urlo ...

  9. 什么是JavaEE

    Java技术不仅是一门编程语言而且是一个平台.同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境.Java平台有很多种,很多的Jav ...

  10. R中的统计检验函数

    正态性W检验 shapiro.test()用Shapiro-Wilk W统计量做数据的正态性检验. 经验分布的Kolmogorov-Smirnov检验 ks.test()Kolmogorov-Smir ...