# Pesquisando código (herdado)

Você só precisa usar a sintaxe de pesquisa de código herdada se estiver usando a API.

> \[!NOTE]
> Este artigo aborda a sintaxe para busca de código legado, que você deve usar apenas no [endpoint da API REST para pesquisar código](/pt/rest/search/search#search-code).
>
> Para obter informações sobre a sintaxe de pesquisa de código que você pode usar em GitHub, consulte [Compreendendo a sintaxe de Pesquisa de Código do GitHub](/pt/search-github/github-code-search/understanding-github-code-search-syntax).

```
          É possível realizar uma pesquisa global em todo o GitHub ou limitar o escopo da pesquisa a uma organização ou repositório específico. Para obter mais informações, consulte [AUTOTITLE](/search-github/getting-started-with-searching-on-github/about-searching-on-github).
```

Você pode pesquisar códigos usando somente estes qualificadores de pesquisa de código. Qualificadores de pesquisa específicos para repositórios, usuários ou commits não funcionarão ao pesquisar código.

> \[!TIP]
>
> * Este artigo contém links para pesquisas de exemplo no site do GitHub.com, mas é possível usar os mesmos filtros de pesquisa em qualquer plataforma GitHub. Nas pesquisas de exemplo vinculadas, substitua `github.com` pelo nome do host da plataforma GitHub.
> * Para ver uma lista de sintaxes de pesquisa que você pode adicionar a qualquer qualificador de pesquisa a fim de aprimorar ainda mais os resultados, confira [Noções básicas de sintaxe de pesquisa](/pt/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax).
> * Use aspas em termos de pesquisa com várias palavras. Por exemplo, caso deseje pesquisar problemas com o rótulo "Em andamento", pesquise `label:"in progress"`. A pesquisa não faz distinção entre maiúsculas e minúsculas.

## Considerações sobre pesquisa de códigos

Devido à complexidade da pesquisa de códigos, a execução das pesquisas apresenta algumas restrições:

* Você deve fazer login em uma conta pessoal do GitHub para pesquisar o código em todos os repositórios públicos.
* O código em [forks](/pt/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) só é pesquisável se o fork tiver mais estrelas que o repositório pai e o repositório criado a partir do fork tiver pelo menos um commit enviado por 'push' após ser criado. Os forks com menos estrelas do que o repositório pai ou sem commits **não** são indexados para pesquisa de código. Para incluir forks com mais estrelas do que os respectivos pais e pelo menos uma commit enviada por push nos resultados da busca, adicione `fork:true` ou `fork:only` à consulta. Para saber mais, confira [Pesquisar em bifurcações](/pt/search-github/searching-on-github/searching-in-forks).
* Somente o *branch padrão* é indexado para pesquisa de código.
* Somente arquivos menores que 384 KB são pesquisáveis.
* Até 4.000 repositórios privados são pesquisáveis. Esses 4.000 repositórios serão os mais recentemente atualizados dos primeiros 10.000 repositórios privados aos quais você tem acesso.
* Somente repositórios com menos de 500.000 arquivos são pesquisáveis.
* Somente os repositórios que tiveram atividade ou foram retornados nos resultados da pesquisa no último ano são pesquisáveis.
* Repositórios arquivados não são pesquisáveis.
* Exceto em pesquisas [`filename`](#search-by-filename), você sempre precisa incluir, pelo menos, um termo de pesquisa ao pesquisar o código-fonte. Por exemplo, a pesquisa de [`language:javascript`](https://github.com/search?utf8=%E2%9C%93\&q=language%3Ajavascript\&type=Code\&ref=searchresults) não é válida, ao contrário de [`amazing language:javascript`](https://github.com/search?utf8=%E2%9C%93\&q=amazing+language%3Ajavascript\&type=Code\&ref=searchresults).
* Os resultados da pesquisa exibem no máximo dois fragmentos do mesmo arquivo, mas o arquivo pode ter mais resultados.
* Não é possível usar os seguintes caracteres curinga como parte da consulta de pesquisa: <code>. , : ; / \ \` ' " = \* ! ? # $ & + ^ | \~ < > ( ) { } \[ ] @</code>. A pesquisa simplesmente ignora esses símbolos.

## Pesquisar pelo conteúdo ou caminho do arquivo

Com o qualificador `in`, você pode restringir a pesquisa ao conteúdo do arquivo de código-fonte, ao caminho do arquivo ou a ambos. Quando você omite esse qualificador, somente o conteúdo do arquivo é pesquisado.

| Qualificador | Exemplo |
| ------------ | ------- |
| `in:file`    |         |

```
          [
          **octocat in:file**](https://github.com/search?q=octocat+in%3Afile&type=Code) corresponde ao código em que "octocat" aparece no conteúdo do arquivo.
```

\| `in:path` |
[
**octocat in:path**](https://github.com/search?q=octocat+in%3Apath\&type=Code) corresponde ao código em que "octocat" aparece no caminho do arquivo.
\| `in:file,path` |
[
**octocat in:file,path**](https://github.com/search?q=octocat+in%3Afile%2Cpath\&type=Code) corresponde ao código em que "octocat" aparece no conteúdo ou no caminho do arquivo.

## Pesquisar nos repositórios de um usuário ou uma organização

Para pesquisar o código em todos os repositórios pertencentes a uma organização ou a um usuário específico, use o qualificador `user` ou `org`. Para pesquisar o código em um repositório específico, use o qualificador `repo`.

| Qualificador                        | Exemplo |
| ----------------------------------- | ------- |
| <code>user:<em>USERNAME</em></code> |         |

```
          [
          **user:defunkt extension:rb**](https://github.com/search?q=user%3Agithub+extension%3Arb&type=Code) corresponde ao código de @defunkt que termina com <em>.rb</em>.
```

\| <code>org:<em>ORGNAME</em></code> |
[
**org:github extension:js**](https://github.com/search?utf8=%E2%9C%93\&q=org%3Agithub+extension%3Ajs\&type=Code) corresponde ao código de GitHub que termina em <em>.js</em>.
\| <code>repo:<em>USERNAME/REPOSITORY</em></code> |
[
**repo:mozilla/shumway extension:as**](https://github.com/search?q=repo%3Amozilla%2Fshumway+extension%3Aas\&type=Code) corresponde ao código do projeto shumway de @mozilla que termina com <em>.as</em>.

## Pesquisar por local do arquivo

Use o qualificador `path` para pesquisar o código-fonte que aparece em um local específico em um repositório. Use `path:/` para pesquisar os arquivos localizados no nível raiz de um repositório. Ou especifique o nome ou o caminho do diretório para pesquisar os arquivos presentes nesse diretório e em seus subdiretórios.

| Qualificador        | Exemplo |
| ------------------- | ------- |
| <code>path:/</code> |         |

```
          [
          **octocat filename:readme path:/**](https://github.com/search?utf8=%E2%9C%93&q=octocat+filename%3Areadme+path%3A%2F&type=Code) corresponde aos arquivos _leiame_ com a palavra "octocat" localizada no nível raiz de um repositório.
```

\| <code>path:<em>DIRECTORY</em></code> |
[
**form path:cgi-bin language:perl**](https://github.com/search?q=form+path%3Acgi-bin+language%3Aperl\&type=Code) corresponde aos arquivos Perl com a palavra "form" no diretório <em>cgi-bin</em> ou em um dos subdiretórios.
\| <code>path:<em>PATH/TO/DIRECTORY</em></code> |
[
\*\*
`console path:app/public language:javascript`
\*\*
](https://github.com/search?q=console+path%3A%22app%2Fpublic%22+language%3Ajavascript\&type=Code) corresponde aos arquivos JavaScript com a palavra "console" no diretório <em>app/public</em> ou em um dos subdiretórios (mesmo que eles estejam em <em>app/public/js/form-validators</em>).

## Pesquisar por linguagem

Você pode pesquisar código com base na linguagem na qual ele foi escrito. O qualificador `language` pode ser o nome da linguagem ou o alias. Para ver a lista completa das linguagens com suporte acompanhadas dos respectivos nomes e aliases, confira o [repositório github-linguist/linguist](https://github.com/github-linguist/linguist/blob/main/lib/linguist/languages.yml).

| Qualificador                            | Exemplo |
| --------------------------------------- | ------- |
| <code>language:<em>LANGUAGE</em></code> |         |

```
          [
          **element language:xml size:100**](https://github.com/search?q=element+language%3Axml+size%3A100&type=Code) corresponde ao código com a palavra "element" que está marcado como sendo XML e tem exatamente 100 bytes.
```

\| <code>language:<em>LANGUAGE</em></code> |
[
**display language:scss**](https://github.com/search?q=display+language%3Ascss\&type=Code) corresponde ao código com a palavra "display" que está marcado como SCSS.
\| <code>language:<em>LANGUAGE</em></code> |
[
**org:mozilla language:markdown**](https://github.com/search?utf8=%E2%9C%93\&q=org%3Amozilla+language%3Amarkdown\&type=Code) corresponde ao código de todos os repositórios de @mozilla marcados como Markdown.

## Pesquisar por tamanho do arquivo

Use o qualificador `size` para pesquisar o código-fonte com base no tamanho do arquivo em que o código está. O qualificador `size` usa os [qualificadores maior que, menor que e intervalo](/pt/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax) para filtrar os resultados com base no tamanho do byte do arquivo no qual o código é encontrado.

| Qualificador                 | Exemplo |
| ---------------------------- | ------- |
| <code>size:<em>n</em></code> |         |

```
          [
          **function size:&gt;10000 language:python**](https://github.com/search?q=function+size%3A%3E10000+language%3Apython&type=Code) corresponde ao código com a palavra "função", escrita em Python, em arquivos maiores que 10 KB.
```

## Pesquisar por nome do arquivo

O qualificador `filename` corresponde aos arquivos de código com determinado nome de arquivo. Você também pode localizar um arquivo em um repositório usando o localizador de arquivos. Para saber mais, confira [Localizando arquivos no GitHub](/pt/search-github/searching-on-github/finding-files-on-github).

| Qualificador                            | Exemplo |
| --------------------------------------- | ------- |
| <code>filename:<em>FILENAME</em></code> |         |

```
          [
          **filename:linguist**](https://github.com/search?utf8=%E2%9C%93&q=filename%3Alinguist&type=Code) corresponde aos arquivos nomeados "linguist".
```

\| <code>filename:<em>FILENAME</em></code> |
[
**filename:.vimrc commands**](https://github.com/search?q=filename%3A.vimrc+commands\&type=Code) corresponde aos arquivos *.vimrc* com a palavra "commands".
\| <code>filename:<em>FILENAME</em></code> |
[
**filename:test\_helper path:test language:ruby**](https://github.com/search?q=minitest+filename%3Atest_helper+path%3Atest+language%3Aruby\&type=Code) corresponde aos arquivos Ruby chamados *test\_helper* do diretório *test*.

## Pesquisar por extensão do arquivo

O qualificador `extension` corresponde aos arquivos de código com determinada extensão de arquivo.

| Qualificador                              | Exemplo |
| ----------------------------------------- | ------- |
| <code>extension:<em>EXTENSION</em></code> |         |

```
          [
          **form path:cgi-bin extension:pm**](https://github.com/search?q=form+path%3Acgi-bin+extension%3Apm&type=Code) corresponde ao código com a palavra "form", em <em>cgi-bin</em>, com a extensão de arquivo <em>.pm</em>.
```

\| <code>extension:<em>EXTENSION</em></code> |
[
**icon size:>200000 extension:css**](https://github.com/search?utf8=%E2%9C%93\&q=icon+size%3A%3E200000+extension%3Acss\&type=Code) corresponde aos arquivos com mais de 200 KB que terminam com .css e têm a palavra "icon".

## Leitura adicional

* [Ordenar os resultados da pesquisa](/pt/search-github/getting-started-with-searching-on-github/sorting-search-results)
* [Pesquisar em bifurcações](/pt/search-github/searching-on-github/searching-in-forks)
* [Navegando no código no GitHub](/pt/repositories/working-with-files/using-files/navigating-code-on-github)