如何更方便的使用sooset

http://http://www.sooset.com/是一个提供在线开源代码查看的网站,在上面可以找到大多数开源软件的源码,注册用户也可以自己提交源码,并可选择是否共享给其他用户。

当前支持的解析的编程语言包括:

支持解析的编程语言

支持解析的文件类型

C

*.c ,*.h

C++

*.cpp *.h

JAVA

*.java

PYTHON

*.py

JS

*.js

支持的解析器:IE7 ,IE8,Firefox ,Chrome.

1.如果能更方便的找到需要的代码工程?

a.如何更方便的通过搜索框查找?

可以通过以下任意一种方式选择搜索的关键字:

关键字选择

举例

直接使用工程名

如直接输入 linux,snort,glibc等关键字

搜索关键字

比如查找linux或者freebsd的内核代码时,可直接搜索OS kernel等关键字,查找一些网络相关代码时可直接搜索networking

通过搜索工程描述中的关键字搜索

根据工程创建时添加的描述进行查找,比如需要查找malloc源码的位置时,可在搜索框中直接输入malloc进行查找,这样可以直接找到glibc的工程。

2个搜索框可以直接查找工程:

还未打开工程时,可以直接在首页工程搜索框进行查找



当已经打开工程时,可以不需要退到首页再去查找工程,可以将工程顶部搜索框选择project再搜索即可:


b.如何通过首页的链接查找工程?

可以直接点击首页的hotproject和右下角的分类框直接点击查找工程

2.如果能更方便的查看代码工程下的代码?

a.如何查找工程中需要查找的文件?

选择完工程后,开始查找文件选择需要查看的代码了,如果清楚待查看的文件的位置,可以直接点击右侧的目录树查找想应的文件:


还可以通过文件列表上的搜索框输入待查找的目录或者文件名(支持模糊匹配,方便更容易查找到需要的目录):

此外和通过工程内的工程搜索窗口查找到所需要的文件,将工程顶部的搜索框选择为file,直接查找到需要的文件:

b.如果查找函数的引用调用位置?

打开一个文件后,就可以查找具体需要查看的函数了,可以通过直接点击函数名找到该函数的调用位置,底部的搜索框可以直接看到该函数的引用位置:

可以提前预览该函数调用位置:

也可以直接点击下面的搜索结果直接跳转到该引用位置:

可以通过如下2种方式来遍历查找的结果:

通过使用search next/previous 遍历查找的结果



通过搜索框的小箭头快速跳转:

如果既不清楚待查找的函数名称和所在的文件名称及其所在的目录,可以通过工程顶部的搜索框查找到相应的函数,所有的函数名、变量名等都属于symbol,可以选择搜索定义还是引用位置,比如我需要查找linux kernel底下一个名称叫 alloc_asxxx的函数,函数名称记不太清楚,也不清楚具体的调用位置,此时可通过顶部的搜索框:

如果选择definition,只会搜索到这个函数的定义的位置,如果选择all,则可以搜索到定义和引用位置:

此外还可以通过右键轻松的搜索查看symbol的定义和引用位置:

选定symbol后,可以点击鼠标右键的按钮,选择Global definition 或者symbol reference查找定义或者引用位置。

c.如果查找变量结构体成员等引用调用位置?

对于变量,结构体成员等搜索方式,与函数使用类似,每一个结构体定义名称,成员变量,变量等都属于一个symbol,都可以通过工程顶部的symbol搜索框完成相应的查找功能,也可以通过点击具体的变量名等完成相应的功能。
d.如果通过注释或者打印的字符串及其他内容查找代码?

通过功能内的搜索框选择comment或者string时,可以分别搜索代码中相应的注释或者字符串找到相应位置。

使用Plain file查找时,可以去匹配 readme kconfig makefile等非代码的txt文档。

e.如果查看之前浏览过的页面?

可以通过backwardforward跳转之前浏览的页面:


更方便的是使用如下方式查看之前浏览的页面并跳转:






f.其他使用的小技巧:

1.通过右键的符号高亮可以查看代码更加清晰

2.通过goto line 之间跳转到相应文件的指定行:


3.对经常浏览的工程设置为favorite(Bookmark),这样不用每次都搜索查找该工程:

注册用户注册后,可以通过如下方式标记:

在管理页面可以查看到自己mark的工程:
4.注册用户可以根据自己的使用习惯选择字体的大小和颜色:

3.如果更好的创建自己的工程?

如果愿意将自己的代码工程和其他用户共享的话,需要注意工程名,关键字 和描述的填写,这些能让你提交的代码工程更方便为其他用户服务.

如果不愿意跟其他用户共享,可通过该工程的权限管理解决该问题。

以下为示例:创建一个开源内存管理工程的代码,向特殊用户共享

原文地址:https://www.cnblogs.com/xuxm2007/p/2358165.html