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, whileamazing 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 user syntax. 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为扩展的代码