To search for code, use the following search qualifiers in any combination.

Tip: There's a list of search syntaxes you can add to any search qualifier to further improve your results.

 

Considerations for code search

Due to the complexity of searching code, there are a few restrictions on how searches are performed:

  • Only the default branch is considered. In most cases, this will be the master branch.
  • Only files smaller than 384 KB are searchable.
  • You must always include at least one search term when searching source code. For example, searching for language:go is not valid, while amazing language:go is.
  • At most, search results can show two fragments from the same file, but there may be more results within the file.
  • You can't use the following wildcard characters as part of your search query:. , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ]. The search will simply ignore these symbols.

以上是代码搜索中需要注意的一些问题

默认搜索是从master分支搜索代码

只有小于384k的代码才是可以搜索到的

搜索的时候必须包含至少一个搜索关键词 如 amazing language:go

搜索语句不能有特殊字符如. , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ].

 

 

Scope the search fields

指定搜索方式

 

octocat in:file
Matches code where "octocat" appears in the file contents.
搜索文件中有octocat的代码
octocat in:path
Matches code where "octocat" appears in the path name.
搜索路径中有octocat的代码
octocat in:file,path
Matches code where "octocat" appears in the file contents or the path name.
搜索路径中有octocat的代码或者文件中有octocat的代码
display language:scss
Matches code with the word "display," that's marked as being SCSS.
搜索用scss写的包含display的代码
Integer
Matches code with the word "Integer".
搜索包含Integer的字段

Search by language

通过语言搜索代码

You can search for code based on what language it's written in. For example:

element language:xml size:100
Matches code with the word "element" that's marked as being XML and has exactly 100 bytes.
搜索大小为100字节的xml代码
user:mozilla language:markdown
Matches code from all @mozilla's repositories that's marked as Markdown.
搜索mozilla用户下用markdown写的代码

Search by the number of forks the parent repository has

通过fork的数量或者是否有父节点的方式搜索

 

If you would like forked results to appear, add the fork:true qualifier. For example:

 

android language:java fork:true
Matches code in a forked repository with the word "android" that's written in Java.
搜索用java写的 android相关的代码并且被fork过

The size qualifier filters results based on the size of the file in which the code is found. For example:

function size:>10000 language:python
Matches code with the word "function," written in Python, in files that are larger than 10 KB.
搜索与function相关的python代码,文件大小超过10kb

Search by the location of a file within the repository

按照目录结构搜索

By including the path qualifier, you specify that resulting source code must appear at a specific location in a repository. Subfolders are considered during the search, so be as specific as possible. For example:

console path:app/public language:javascript
Finds JavaScript files with the word "console" in an  app/public directory (even if they reside in app/public/js/form-validators).
app/public directory目录下搜索console关键字
form path:cgi-bin language:perl
Finds Perl files under  cgi-bin with the word "form" in them.
搜索cgi-bin目录下包含form的perl代码

Search by filename

通过文件名搜索

You can use the filename qualifier if there's a specific file you're looking for. For example:

filename:.vimrc commands
Finds *.vimrc* files with the word "commands" in them.
搜索 文件名匹配*.vimrc* 并且包含commands的代码
minitest filename:test_helper path:test language:ruby
Finds Ruby files containing the word "minitest" named *test_helper* within the *test* directory.
在test目录中搜索包含minitest且文件名匹配"*test_helper*"的代码

Search by the file extension

根据扩展名来搜索代码

The extension qualifier matches code files with a certain extension. For example:

form path:cgi-bin extension:pm
Matches code with the word "form," under  cgi-bin, with the  .pm extension.
搜索cgi-bin目录下以pm为扩展名的代码
icon size:>200000 extension:css
Finds files larger than 200 KB that end in  .css and have the word "icon" in them.
搜索超过200kb包含icon的css代码

Search within a user's or organization's repositories

通过用户或者组织来查找

To grab a list of code from all repositories owned by a certain user or organization, you can use the usersyntax. For getting a list of code from a specific repository, you can use the repo syntax. For example:

user:github extension:rb
Matches code from GitHub that ends in  .rb.
查找github用户中以rb为扩展的代码
repo:mozilla/shumway extension:as
Matches code from @mozilla's shumway project that ends in  .as.
搜索mozilla的shumway以as为扩展的代码