

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando o Amazon Q Developer no IDE
<a name="q-in-IDE"></a>

Use o Amazon Q Developer em ambientes de desenvolvimento integrados (IDEs) para conhecer AWS e obter assistência com suas necessidades de desenvolvimento de software. Em IDEs, o Amazon Q inclui recursos para fornecer orientação e suporte em vários aspectos do desenvolvimento de software, como responder a perguntas sobre criação AWS, geração e atualização de código, verificação de segurança e otimização e refatoração de código.

Para instalar o Amazon Q no seu IDE, consulte [Instalando a extensão ou o plug-in Amazon Q Developer em seu IDE](q-in-IDE-setup.md).

**Topics**
+ [Recursos compatíveis IDEs e disponíveis](#supported-ides-features)
+ [Instalando a extensão ou o plug-in Amazon Q Developer em seu IDE](q-in-IDE-setup.md)
+ [Conversando com o Amazon Q Developer sobre código](q-in-IDE-chat.md)
+ [Geração de sugestões em linha com o Amazon Q Developer.](inline-suggestions.md)
+ [Idiomas compatíveis com o Amazon Q Developer no IDE](q-language-ide-support.md)

## Recursos compatíveis IDEs e disponíveis
<a name="supported-ides-features"></a>

Os recursos aos quais você tem acesso dependem do IDE em que você usa o Amazon Q. A tabela a seguir descreve o IDEs suporte do Amazon Q e a disponibilidade e as limitações dos recursos em cada IDE.

Se nenhum suporte de idioma for especificado, o IDE oferece suporte aos idiomas listados no tópico [Idiomas compatíveis](q-language-ide-support.md).


****  

| Recurso | VSCode | JetBrains | Eclipse | Visual Studio | 
| --- | --- | --- | --- | --- | 
|   [Bate-papo](q-in-IDE-chat.md)   | Sim | Sim | Sim | Sim | 
|   [Codificação agêntica](q-in-IDE-chat.md#agentic-coding)   | Sim | Sim | Sim | Sim | 
| [Servidores MCP](mcp-ide.md) | Sim | Sim | Sim | Sim | 
|   [Contexto no chat](ide-chat-context.md)   | Sim | Sim | Sim | Sim | 
|   [Chat em linha](q-in-IDE-inline-chat.md)   | Sim | Sim | Sim | Não | 
|   [Contexto do espaço de trabalho no bate-papo](workspace-context.md)   | Sim | Sim | Sim | Sim | 
|   [Sugestões em linha](inline-suggestions.md)   | Sim | Sim | Sim | Sim | 
|   [Transformações](transform-java.md)   | Sim | Sim | Não | Sim | 
|     | Sim | Sim | Sim | Não | 

Você também pode gerar sugestões em linha em ambientes de AWS codificação. Para obter mais informações, consulte [Gerando sugestões em linha em ambientes de AWS codificação](setting-up-AWS-coding-env.md).

# Instalando a extensão ou o plug-in Amazon Q Developer em seu IDE
<a name="q-in-IDE-setup"></a>

Para configurar o Amazon Q Developer em seu ambiente de desenvolvimento integrado (IDE), conclua as etapas a seguir. Depois de instalar a extensão ou o plug-in Amazon Q, autentique-se por meio do Centro de Identidade IAM ou ID do builder AWS. Você pode usar o Amazon Q gratuitamente, sem uma AWS conta, autenticando-se com o Builder ID. 

Para começar, baixe a extensão ou plug-in do Amazon Q para seu IDE:
+ [Baixe o Amazon Q para o Eclipse](https://marketplace.eclipse.org/content/amazon-q)
+ [Baixe o Amazon Q para o Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.amazon-q-vscode)
+ [Baixe o Amazon Q para JetBrains IDEs](https://plugins.jetbrains.com/plugin/24267-amazon-q/)
+ [Baixe o Amazon Q no AWS Toolkit for Visual Studio](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.AWSToolkitforVisualStudio2022)

**nota**  
Em geral, a duração padrão de uma sessão autenticada pelo Centro de Identidade IAM é de 8 horas. No entanto, no caso do Amazon Q, a sessão padrão dura 90 dias (se você configurar o Centro de Identidade IAM em 18 de abril de 2024 ou mais tarde). Para obter mais informações, consulte [How to extend the session duration for Amazon Q in the IDE](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html#90-day-extended-session-duration) no *Guia do usuário do Centro de Identidade do AWS IAM *.

Para entrar e autenticar, conclua as etapas desta seção.

**Topics**
+ [Pré-requisito: versões compatíveis do IDE](#q-in-IDE-setup-prereqs)
+ [Autenticação na Eclipse IDEs](#setup-eclipse)
+ [Autenticação na JetBrains IDEs](#setup-jetbrains)
+ [Autenticação na Visual Studio Code](#setup-vscode)
+ [Autenticar em Visual Studio](#setup-vs)
+ [Usando um diretor do IAM em seu AWS console](#q-no-IAM-in-IDEs)

## Pré-requisito: versões compatíveis do IDE
<a name="q-in-IDE-setup-prereqs"></a>
+ A versão mínima do Eclipse compatível com o Amazon Q é 2024-06 (4.32).
+ A versão mínima de JetBrains IDEs (incluindo IntelliJ ePyCharm) suportada pelo Amazon Q é 2024.3. 
+ A versão mínima Visual Studio Code compatível com o Amazon Q é 1.85.0.
+ Somente o Visual Studio for Windows é compatível com o Amazon Q. A versão mínima do Visual Studio suportada é a versão 17.7 do Visual Studio 2022. Todas as edições do Visual Studio 2022 são suportadas.

## Autenticação na Eclipse IDEs
<a name="setup-eclipse"></a>

Você pode se autenticar gratuitamente com ID do builder AWS ou com o IAM Identity Center com uma assinatura do Amazon Q Developer Pro. Escolha seu método de autenticação para ver as etapas para começar a usar o Amazon Q no Eclipse.

------
#### [ Builder ID ]

Esse procedimento não exige que você tenha o Builder ID. Se você ainda não se inscreveu no Builder ID, terá a oportunidade de fazer isso durante o processo de login.

1. Instale o [plug-in do Amazon Q](https://marketplace.eclipse.org/content/amazon-q) no Eclipse.

1. Selecione o ícone do Amazon Q no canto superior direito do IDE.

1. Uma guia do Amazon Q é aberta na parte inferior do IDE. Em **Selecionar uma opção de login**, selecione **Conta pessoal** e, em seguida, **Continuar**. O sistema redireciona você para o navegador.

1. Siga as instruções em seu navegador para se autenticar com o Builder ID. Quando você tiver concluído a autenticação, retorne ao IDE do Eclipse.

1. Para começar a usar o Amazon Q, clique no ícone do Amazon Q para abrir o painel de chat do Amazon Q.

------
#### [ IAM Identity Center ]

Antes de iniciar este procedimento, seu administrador deve ter:
+ Criou uma identidade para você no Centro de Identidade IAM
+ Inscreveu essa identidade no Amazon Q Developer Pro

Depois que sua identidade for assinada no Amazon Q Developer Pro, conclua as seguintes etapas para se autenticar:

1. Instale o [plug-in do Amazon Q](https://marketplace.eclipse.org/content/amazon-q) no Eclipse.

1. Selecione o ícone do Amazon Q no canto superior direito do IDE.

1. Uma guia do Amazon Q é aberta na parte inferior do IDE. Em **Selecionar uma opção de login**, selecione **Conta da empresa** e, em seguida, **Continuar**.

1. Insira o **URL inicial** que seu administrador obteve do [console de assinatura do Amazon Q](manage-account-details.md).

1. Escolha aquela Região da AWS em que seu administrador configurou sua [instância do IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-instances.html).

1. Escolha **Continuar**. O sistema redireciona você para o navegador.

1. Siga as instruções no seu navegador para se autenticar com o Centro de Identidade IAM. Quando você tiver concluído a autenticação, retorne ao IDE do Eclipse.

1. Para começar a usar o Amazon Q, clique no ícone do Amazon Q para abrir o painel de chat do Amazon Q.

------

## Autenticação na JetBrains IDEs
<a name="setup-jetbrains"></a>

Você pode se autenticar gratuitamente com ID do builder AWS ou com o IAM Identity Center com uma assinatura do Amazon Q Developer Pro. Escolha seu método de autenticação para ver as etapas para começar a usar o Amazon Q em seu JetBrains IDE.

------
#### [ Builder ID ]

Esse procedimento não exige que você tenha o Builder ID. Se você ainda não se inscreveu no Builder ID, terá a oportunidade de fazer isso durante o processo de login.

1. Instale o [plug-in do Amazon Q](https://plugins.jetbrains.com/plugin/24267-amazon-q/) em seu IDE do JetBrains.

1. Escolha o ícone do Amazon Q em seu IDE.

   Por padrão, o ícone estará na lateral da interface.

1. Siga as instruções em seu navegador para se autenticar com o Builder ID.

1. Para começar a usar o Amazon Q, escolha o ícone do Amazon Q para conversar com o Amazon Q ou escolha **Amazon Q** na barra de navegação na parte inferior do seu IDE.

------
#### [ IAM Identity Center ]

Antes de iniciar este procedimento, seu administrador deve ter:
+ Criou uma identidade para você no Centro de Identidade IAM
+ Inscreveu essa identidade no Amazon Q Developer Pro

Depois que sua identidade for assinada no Amazon Q Developer Pro, conclua as seguintes etapas para se autenticar:

1. Instale o [plug-in do Amazon Q](https://plugins.jetbrains.com/plugin/24267-amazon-q/) em seu IDE do JetBrains.

1. Escolha o ícone do Amazon Q em seu IDE.

   Por padrão, o ícone estará na lateral da interface.

1. Selecione **Conta da empresa**.

1. Insira o **URL inicial** que seu administrador obteve do [console de assinatura do Amazon Q](manage-account-details.md).

1. Forneça Região da AWS em que seu administrador configurou sua [instância](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-instances.html) do IAM Identity Center.

1. Escolha **Continuar**. O foco mudará para seu navegador da web.

1. Siga as instruções no seu navegador para se autenticar com o Centro de Identidade IAM e depois retorne ao IDE.

1. Se o administrador tiver configurado mais de um perfil do Amazon Q Developer, você verá os perfis aos quais tem acesso. Selecione o perfil que atenda às suas necessidades de trabalho atuais ou que seu administrador tenha instruído você a usar. Para obter mais informações sobre perfis, consulte [O que é o perfil do Amazon Q Developer?](subscribe-understanding-profile.md).

   Se houver somente um perfil disponível, esse perfil será escolhido automaticamente e você poderá começar a usar o Amazon Q.

   Para alterar seu perfil do Amazon Q Developer, selecione **Amazon Q** na parte inferior do IDE e, em seguida, selecione **Alterar perfil**. Na janela exibida, selecione o perfil que você deseja usar. 

1. Para começar a usar o Amazon Q, escolha o ícone do Amazon Q para conversar com o Amazon Q ou escolha **Amazon Q** na barra de navegação na parte inferior do seu IDE.

------

## Autenticação na Visual Studio Code
<a name="setup-vscode"></a>

Você pode se autenticar gratuitamente com ID do builder AWS ou com o IAM Identity Center com uma assinatura do Amazon Q Developer Pro. Escolha seu método de autenticação para ver as etapas para começar a usar o Amazon Q no VS Code.

------
#### [ Builder ID ]

Esse procedimento não exige que você tenha o Builder ID. Se você ainda não se inscreveu no Builder ID, terá a oportunidade de fazer isso durante o processo de login.

1. Instale a [extensão do Amazon Q](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.amazon-q-vscode) no VS Code.

1. Escolha o ícone do Amazon Q em seu IDE.

   Por padrão, o ícone estará na lateral da interface.

1. Siga as instruções em seu navegador para se autenticar com o Builder ID.

1. Para começar a usar o Amazon Q, escolha o ícone do Amazon Q para conversar com o Amazon Q ou escolha **Amazon Q** na barra de navegação na parte inferior do seu IDE.

------
#### [ IAM Identity Center ]

Antes de iniciar este procedimento, seu administrador deve ter:
+ Criou uma identidade para você no Centro de Identidade IAM
+ Inscreveu essa identidade no Amazon Q Developer Pro

Depois que sua identidade for assinada no Amazon Q Developer Pro, conclua as seguintes etapas para se autenticar:

1. Instale a [extensão do Amazon Q](https://marketplace.visualstudio.com/items?itemName=AmazonWebServices.amazon-q-vscode) no VS Code.

1. Escolha o ícone do Amazon Q em seu IDE.

   Por padrão, o ícone estará na lateral da interface.

1. Selecione **Conta da empresa**.

1. Insira o **URL inicial** que seu administrador obteve do [console de assinatura do Amazon Q](manage-account-details.md).

1. Forneça Região da AWS em que seu administrador configurou sua [instância](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-instances.html) do IAM Identity Center.

1. Escolha **Continuar**. O foco mudará para seu navegador da web.

1. Siga as instruções no seu navegador para se autenticar com o Centro de Identidade IAM e depois retorne ao IDE.

1. Se o administrador tiver configurado mais de um perfil do Amazon Q Developer, você verá os perfis aos quais tem acesso. Selecione o perfil que atenda às suas necessidades de trabalho atuais ou que seu administrador tenha instruído você a usar. Para obter mais informações sobre perfis, consulte [O que é o perfil do Amazon Q Developer?](subscribe-understanding-profile.md).

   Se houver somente um perfil disponível, esse perfil será escolhido automaticamente e você poderá começar a usar o Amazon Q.

   Para alterar seu perfil do Amazon Q Developer, selecione **Amazon Q** na parte inferior do IDE e, em seguida, selecione **Alterar perfil**. Na paleta de comandos, selecione o perfil que você deseja usar. 

1. Para começar a usar o Amazon Q, escolha o ícone do Amazon Q para conversar com o Amazon Q ou escolha **Amazon Q** na barra de navegação na parte inferior do seu IDE.

------

## Autenticar em Visual Studio
<a name="setup-vs"></a>

Para se conectar às suas AWS contas a partir do Toolkit for Visual Studio, abra **o Guia de introdução à interface do usuário AWS do** kit de ferramentas (interface de usuário de conexão) concluindo o procedimento a seguir.

1. No menu principal do Visual Studio, expanda **Extensões** e **AWS Toolkit**.

1. Nas opções do menu **Kit de ferramentas da AWS **, escolha **Introdução**.

1. A **interface de usuário de conexão do AWS kit** de ferramentas é aberta no Visual Studio.

Você pode se autenticar gratuitamente com ID do builder AWS ou com o IAM Identity Center com uma assinatura do Amazon Q Developer Pro. Escolha seu método de autenticação para ver as etapas para começar a usar o Amazon Q no Visual Studio.

------
#### [ Builder ID ]

1. No Visual Studio, expanda **Extensões** no menu principal e, em seguida, expanda o submenu **AWS Toolkit**.

1. Escolha **Conceitos básicos**. A guia **Introdução** é aberta na janela do editor do Visual Studio. 

1. Na seção **Amazon Q**, selecione **Habilitar**. 

1. Na seção **Nível gratuito**, selecione o botão **Inscrever-se ou fazer login**. 

1. Confirme que você deseja abrir o portal AWS de solicitação de autorização em seu navegador padrão. 

1. Siga os prompts no seu navegador padrão. Você receberá uma notificação quando o processo de autenticação for concluído e for seguro fechar a janela do navegador.

------
#### [ IAM Identity Center ]

1. No Visual Studio, expanda **Extensões** no menu principal e, em seguida, expanda o submenu **AWS Toolkit**.

1. Escolha **Conceitos básicos**. A guia **Introdução** é aberta na janela do editor do Visual Studio. 

1. Na seção **Amazon Q**, selecione **Habilitar**. Você preencherá a seção Nível profissional para se autenticar.

1. O perfil de credenciais é composto pelo nome do perfil, URL inicial, região do perfil ou região do SSO fornecidos por um administrador da sua empresa ou organização. Para obter informações detalhadas sobre as credenciais do Centro de Identidade do IAM, consulte [What is IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) no *Guia do usuário do Centro de Identidade do IAM*.

   Se você tiver um perfil de credenciais existente, selecione-o no menu suspenso no painel Nível profissional e, em seguida, clique em **Conectar**.

   Para criar um perfil de credenciais, preencha os seguintes campos na seção Nível profissional:

   1. No campo de texto **Nome do perfil**, insira o nome do perfil do Centro de Identidade IAM com o qual você deseja se autenticar.

   1. No campo de texto **URL inicial**, insira o URL inicial anexado às suas credenciais do Centro de Identidade IAM.

   1. No menu suspenso **Região do perfil (o padrão é us-east-1)**, escolha Região da AWS aquela definida pelo perfil de usuário do IAM Identity Center com o qual você está se autenticando.

   1. **No menu **suspenso Região do SSO (o padrão é us-east-1)**, escolha a **região do SSO** definida pelas credenciais do IAM Identity Center e, em seguida, escolha o botão **Conectar** para abrir a caixa de diálogo Fazer login com o IAM Identity Center. AWS **

1. Confirme que você deseja abrir o portal AWS de solicitação de autorização em seu navegador padrão.

1. Siga os prompts no seu navegador padrão. Você receberá uma notificação quando o processo de autenticação for concluído e for seguro fechar a janela do navegador.

1. A janela **Fazer login no Amazon Q** é exibida. No menu suspenso do perfil de credenciais, selecione o perfil que você usou para se autenticar nas etapas anteriores. 

1. Se o administrador tiver configurado mais de um perfil do Amazon Q Developer, você deverá selecionar um perfil do Amazon Q Developer no menu suspenso. Selecione o perfil que atenda às suas necessidades de trabalho atuais ou que seu administrador tenha instruído você a usar. Para obter mais informações sobre perfis, consulte [O que é o perfil do Amazon Q Developer?](subscribe-understanding-profile.md).

   Se houver somente um perfil disponível, esse perfil será escolhido automaticamente e você poderá começar a usar o Amazon Q.

   Para alterar seu perfil do Amazon Q Developer, selecione **Amazon Q** na parte inferior do IDE e, em seguida, selecione **Alterar perfil do Amazon Q Developer**. Na janela exibida, selecione o perfil que você deseja usar. 

   Você também pode alterar seu perfil clicando no menu de opções no canto superior direito da janela de chat e, em seguida, selecionando **Alterar perfil do Amazon Q Developer**.

------

Para obter mais informações sobre autenticação no Toolkit for Visual Studio, consulte [Getting Started](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/getting-set-up.html) no *Guia do usuário do AWS Toolkit for Visual Studio *.

## Usando um diretor do IAM em seu AWS console
<a name="q-no-IAM-in-IDEs"></a>

Dependendo de como você usa AWS, você pode estar acostumado a usar suas credenciais do IAM para entrar no console para todos os serviços. AWS No entanto, você não pode usar o Amazon Q Developer no IDE como entidade principal do IAM ou com um perfil do IAM. Você deve se autenticar com credenciais do Centro de Identidade IAM ou do Builder ID.

# Conversando com o Amazon Q Developer sobre código
<a name="q-in-IDE-chat"></a>

Converse com o Amazon Q Developer em seu ambiente de desenvolvimento integrado (IDE) para fazer perguntas sobre a criação AWS e obter ajuda com o desenvolvimento de software. O Amazon Q pode explicar conceitos de codificação e trechos de código, gerar testes de código e de unidade e aprimorar o código, incluindo depuração ou refatoração. 

**Topics**
+ [Trabalhar com o Amazon Q no IDE](#working-with-q-in-IDE)
+ [Exemplos de tarefas](#example-tasks)
+ [Exemplos de perguntas](#example-topics-questions)
+ [Relatar problemas com respostas do Amazon Q](#report-issues)
+ [Revisar código com o Amazon Q Developer](code-reviews.md)
+ [Transformar código no IDE com o Amazon Q Developer](transform-in-IDE.md)
+ [Explicar e atualizar código com o Amazon Q Developer](explain-update-code.md)
+ [Conversar em linha com o Amazon Q Developer](q-in-IDE-inline-chat.md)
+ [Adicionar contexto ao chat do Amazon Q Developer no IDE](ide-chat-context.md)
+ [Compactar o histórico do chat no Amazon Q Developer](ide-chat-history-compaction.md)
+ [Visualizar, excluir e exportar o histórico de conversas do Amazon Q Developer](ide-chat-conversation.md)
+ [Usar teclas de atalho no chat com o Amazon Q Developer](q-in-ides-chat-shortcuts.md)
+ [Selecionar um modelo para o chat do Amazon Q em IDEs](q-in-ides-chat-models.md)

## Trabalhar com o Amazon Q no IDE
<a name="working-with-q-in-IDE"></a>

### Usar o chat
<a name="w2aac11c16b7b3"></a>

 Para começar a conversar com o Amazon Q, selecione o ícone do Amazon Q na barra de navegação do seu IDE e insira sua pergunta na barra de texto. Para começar a conversar com o Amazon Q no Visual Studio, escolha **Exibir** no menu principal e, em seguida, escolha **Amazon Q chat**.

Quando você faz uma pergunta ao Amazon Q, ele usa o arquivo atual que está aberto no IDE como contexto, incluindo a linguagem de programação e o caminho do arquivo. Você pode adicionar mais contexto ao seu prompt ou especificar arquivos, pastas ou todo o seu espaço de trabalho como contexto em uma sessão de bate-papo. Para obter mais informações, consulte [Adicionar contexto ao chat](ide-chat-context.md). 

Se o Amazon Q incluir código na resposta, você poderá copiá-lo ou inseri-lo diretamente no arquivo escolhendo **Inserir código**. O Amazon Q pode incluir referências em linha nas fontes na resposta. 

O Amazon Q mantém o contexto de sua conversa em uma determinada sessão para informar futuras respostas. Você pode fazer perguntas de acompanhamento ou consultar perguntas e respostas anteriores durante toda a sessão. Você pode iniciar uma nova conversa com o Amazon Q abrindo uma nova guia no painel. É possível abrir até dez guias de cada vez. O Amazon Q não retém o contexto entre conversas diferentes. 

#### Comandos de bate-papo
<a name="chat-commands"></a>

Os comandos a seguir ajudam você a gerenciar seus bate-papos com o Amazon Q.
+ **/clear** - Use esse comando para apagar uma conversa atual. Isso remove todas as conversas anteriores do painel de bate-papo e limpa o contexto que o Amazon Q tem sobre a conversa anterior. 
+  **/compact** - Use esse comando para compactar seu histórico de bate-papo quando a janela de contexto se aproximar do limite de capacidade. Isso cria um resumo conciso da sua conversa, preservando as informações essenciais.
+ **/help** - Use esse comando para ter uma visão geral do que o Amazon Q pode e não pode fazer, exemplos de perguntas e recursos disponíveis.

### Codificação agêntica
<a name="agentic-coding"></a>

Com a codificação agente, o Amazon Q atua como seu parceiro de codificação, conversando com você à medida que você se desenvolve. A codificação agente está ativada por padrão no IDE. Você pode ativar ou desativar a codificação agêntica com o ícone `</>` na parte inferior do painel de chat.

Quando você pede que a Amazon Q melhore seu código, ela atualiza seus arquivos diretamente. Você pode ver as alterações em um diff e ter a opção de desfazê-las.

Enquanto o Amazon Q está pensando ou trabalhando em uma tarefa, você pode continuar adicionando instruções no painel de bate-papo e ele as incorporará ao seu trabalho.

Ao discutir seu projeto com o Amazon Q, ele oferecerá sugestões para comandos shell. Às vezes, quando considera que esses comandos são de baixo risco, ele os executa por conta própria. 

### Conversando em linguagens naturais
<a name="IDE-natural-language-support"></a>

O Amazon Q Developer é compatível com vários idiomas quando você conversa no IDE. Os idiomas naturais compatíveis incluem mandarim, francês, alemão, italiano, japonês, espanhol, coreano, hindi e português, com mais idiomas disponíveis. Para utilizar esse recurso, você pode iniciar uma conversa com o Amazon Q no IDE usando seu idioma natural preferido. O Amazon Q detecta automaticamente o idioma e fornece respostas no idioma apropriado. 

## Exemplos de tarefas
<a name="example-tasks"></a>

### Desenvolver recursos de código
<a name="develop-code"></a>

**nota**  
Esse recurso costumava ser chamado de /dev nesta documentação e no IDE.

O Amazon Q pode ajudar você a desenvolver recursos de código, fazer alterações de código em projetos e responder perguntas sobre tarefas de desenvolvimento de software em seu ambiente de desenvolvimento integrado (IDE). Você explica a tarefa que deseja realizar, e o Amazon Q usa o contexto do seu projeto ou espaço de trabalho atual para gerar código que você pode aplicar à sua base de código. O Amazon Q pode ajudar você a criar AWS projetos ou seus próprios aplicativos.

### Geração de teste de unidade
<a name="unit-tests"></a>

**nota**  
Esse recurso costumava ser chamado de /test nesta documentação e no IDE.

O Amazon Q pode gerar testes unitários para que você possa automatizar os testes em todo o ciclo de vida do desenvolvimento de software. Esse recurso ajuda os desenvolvedores a se concentrarem em acelerar o desenvolvimento de recursos e, ao mesmo tempo, garantir a qualidade do código.

### Geração de documentação
<a name="doc-generation"></a>

**nota**  
Esse recurso costumava ser chamado de /doc nesta documentação e no IDE.

O Amazon Q ajuda você a entender seu código e manter a documentação atualizada, READMEs gerando outra documentação para seu código. Ele pode produzir nova documentação e atualizar a documentação existente em sua base de código. 

### Revisões de código
<a name="review-code"></a>

**nota**  
Esse recurso costumava ser chamado de /review nesta documentação e no IDE.

O Amazon Q pode analisar sua base de código em busca de vulnerabilidades de segurança e problemas de qualidade de código para melhorar a postura de seus aplicativos durante todo o ciclo de desenvolvimento. Para obter mais informações sobre como usar esse recurso, consulte[Revisar código com o Amazon Q Developer](code-reviews.md).

### Transformar código
<a name="transform-code"></a>

O Amazon Q pode transformar seu código em ambientes de desenvolvimento integrados (IDEs) executando atualizações e conversões automatizadas em nível de linguagem e sistema operacional (OS). Você fornece o código a ser transformado, e o Amazon Q gera alterações que você pode revisar e aplicar aos seus arquivos. Para obter mais informações, consulte [Transformar código](transform-in-IDE.md).

## Exemplos de perguntas
<a name="example-topics-questions"></a>

Dentro IDEs dele, o Amazon Q pode responder perguntas sobre Serviços da AWS desenvolvimento de software, além de gerar código. O Amazon Q é particularmente útil para responder perguntas relacionadas às seguintes áreas temáticas.
+ Desenvolvendo AWS, incluindo AWS service (Serviço da AWS) seleção, limites e melhores práticas
+ Conceitos gerais sobre desenvolvimento de software, incluindo sintaxe de linguagem de programação e desenvolvimento de aplicações
+ Escrever código, incluindo explicar código, depurar código e escrever testes de unidade

Veja alguns exemplos de perguntas que você pode fazer para aproveitar ao máximo o Amazon Q no IDE: 
+ Como faço para depurar problemas com minhas funções do Lambda localmente antes de implantá-las na AWS?
+ Como faço EC2 para escolher entre a Amazon AWS Lambda e um back-end escalável de aplicativos web? 
+ Qual é a sintaxe de declaração de uma variável no TypeScript?
+ Como faço para escrever uma aplicação no React?
+ Forneça uma descrição do que esse [*código ou aplicação selecionada*] faz e como funciona. 
+ Gere casos de teste para [*código ou função selecionada*].

## Relatar problemas com respostas do Amazon Q
<a name="report-issues"></a>

Opcionalmente, você pode deixar um feedback para cada resposta que o Amazon Q gera com os ícones de polegar para cima e polegar para baixo. Para relatar um problema com uma resposta, escolha o ícone de polegar para baixo e insira as informações na janela de feedback que é exibida.

# Revisar código com o Amazon Q Developer
<a name="code-reviews"></a>

O Amazon Q Developer pode revisar sua base de código em busca de vulnerabilidades de segurança e problemas de qualidade de código para melhorar a postura de suas aplicações durante todo o ciclo de desenvolvimento. Você pode revisar uma base de código inteira, analisar todos os arquivos em seu projeto ou espaço de trabalho local ou revisar um único arquivo. Você também pode ativar avaliações automáticas que avaliam seu código à medida que você o escreve.

As revisões são baseadas em IA generativa e raciocínio automático baseado em regras. [Os detectores Amazon Q](https://docs.aws.amazon.com/codeguru/detector-library), baseados em anos AWS e nas melhores práticas de segurança da Amazon.com, impulsionam as análises de segurança e qualidade baseadas em regras. À medida que as políticas de segurança são atualizadas e os detectores são adicionados, as avaliações incorporam automaticamente novos detectores para garantir que seu código esteja em conformidade com a maioria das políticas. up-to-date

Para obter informações sobre IDEs o suporte para esse recurso, consulte[Suportado IDEs](q-in-IDE.md#supported-ides-features). Para obter informações sobre linguagens compatíveis, consulte [Suporte de linguagem para revisões de código](q-language-ide-support.md#code-reviews-language-support).

**Topics**
+ [Como funciona](#how-code-reviews-work)
+ [Tipos de problemas de código](#issue-types)
+ [Cotas](#quotas)
+ [Iniciar uma revisão de código com o Amazon Q Developer](start-review.md)
+ [Resolver problemas de código com o Amazon Q Developer](address-code-issues.md)
+ [Filtrar problemas de código](filter-code-issues.md)
+ [Severidade do problema de código nas revisões de código do Amazon Q Developer](code-issue-severity.md)

## Como funciona
<a name="how-code-reviews-work"></a>

Durante uma revisão de código, o Amazon Q avalia seu código personalizado e bibliotecas de terceiros em seu código. Antes de iniciar uma revisão de código, o Amazon Q aplica a filtragem para garantir que somente o código relevante seja revisado. Como parte do processo de filtragem, o Amazon Q exclui linguagens incompatíveis, códigos de teste e código-fonte aberto.

O Amazon Q pode revisar suas alterações recentes de código ou um arquivo ou projeto inteiro. Para iniciar uma revisão, você abre sua pasta de código em seu IDE e, em seguida, solicita à Amazon Q que revise seu código no painel de bate-papo. 

Por padrão, se você simplesmente pedir à Amazon Q que revise seu código, ela revisará somente as alterações de código no arquivo ativo em seu IDE. As alterações no código são determinadas pela saída do `git diff` comando em seu arquivo. Se não houver nenhum arquivo diff presente, o Amazon Q revisará todo o arquivo de código. Se nenhum arquivo estiver aberto, ele pesquisará quaisquer alterações de código no projeto para revisão. 

Da mesma forma, se você pedir à Amazon Q que revise todo o seu projeto ou espaço de trabalho, ela primeiro tentará revisar suas alterações no código. Se não houver nenhum arquivo diff presente, ele revisará toda a sua base de código. 

## Tipos de problemas de código
<a name="issue-types"></a>

O Amazon Q revisa seu código em busca dos seguintes tipos de problemas de código:
+ **Escaneamento SAST: detecte vulnerabilidades de segurança em seu código-fonte.** O Amazon Q identifica vários problemas de segurança, como vazamentos de recursos, injeção de SQL e scripts entre sites. 
+  **Detecção de segredos: evite a exposição de informações sensíveis ou confidenciais em sua base de código.** O Amazon Q revisa seus arquivos de código e texto em busca de segredos, como senhas codificadas, cadeias de conexão de banco de dados e nomes de usuário. As descobertas de segredos incluem informações sobre o segredo desprotegido e como protegê-lo. 
+ **Problemas de IaC: avalie a postura de segurança de seus arquivos de infraestrutura.** O Amazon Q pode revisar os arquivos de código da sua infraestrutura como código (IaC) para detectar problemas de configuração incorreta, conformidade e segurança. 
+  **Problemas de qualidade do código: garanta que seu código atenda aos padrões de qualidade, capacidade de manutenção e eficiência.** O Amazon Q gera problemas de código relacionados a vários problemas de qualidade, incluindo, mas não se limitando a, desempenho, regras de machine learning e práticas recomendadas da AWS.
+  **Riscos de implantação de código: avalie os riscos relacionados à implantação de código.** O Amazon Q determina se há algum risco na implantação ou liberação do seu código, incluindo o desempenho da aplicação e a interrupção das operações. 
+  **Análise de composição de software (SCA): avalie o código de terceiros.** O Amazon Q examina componentes, bibliotecas, estruturas e dependências de terceiros integrados ao seu código, garantindo que o código de terceiros esteja seguro e atualizado. 

Para obter uma lista completa dos detectores que o Amazon Q usa para revisar seu código, consulte [Amazon Q Detector Library](https://docs.aws.amazon.com/codeguru/detector-library/).

## Cotas
<a name="quotas"></a>

As verificações de segurança do Amazon Q mantêm as seguintes cotas:
+ **Tamanho do artefato de entrada**: o tamanho máximo de todos os arquivos em um espaço de trabalho do projeto do IDE, incluindo bibliotecas de terceiros, arquivos JAR de compilação e arquivos temporários.
+ **Tamanho do código-fonte**: o tamanho máximo do código-fonte que o Amazon Q verifica após filtrar todas as bibliotecas de terceiros e arquivos incompatíveis.

A tabela a seguir descreve as cotas mantidas para verificações automáticas e varreduras completas do projeto.


| Recurso | Revisões automáticas | Revisões de arquivos ou projetos | 
| --- | --- | --- | 
| Tamanho do artefato de entrada | 200 KB | 500 MB | 
| Tamanho do código-fonte | 200 KB | 50 MB | 

# Iniciar uma revisão de código com o Amazon Q Developer
<a name="start-review"></a>

O Amazon Q pode revisar todo o seu arquivo ou base de código, ou revisar automaticamente seu código à medida que você o escreve. 

Antes de começar, verifique se você instalou o Amazon Q em um IDE compatível com revisões de código. Para obter mais informações, consulte [Instalando a extensão ou o plug-in Amazon Q Developer em seu IDE](q-in-IDE-setup.md).

**Topics**
+ [Revisar um arquivo, projeto ou espaço de trabalho](#project-review)
+ [Exemplos de tarefas e solicitações](#code-review-prompts)
+ [Revisar enquanto você codifica](#auto-scan)

## Revisar um arquivo, projeto ou espaço de trabalho
<a name="project-review"></a>

Você pode iniciar uma revisão no painel de bate-papo para que a Amazon Q revise um arquivo ou projeto específico. As revisões de arquivos e projetos incluem revisões baseadas em regras e revisões baseadas em IA generativa. 

Depois que a Amazon Q concluir uma análise, você poderá investigar o problema e obter uma correção de código para remediar o problema. Para obter mais informações, consulte [Solucionando problemas de código](address-code-issues.md).

Para iniciar uma revisão de arquivo ou projeto, conclua as seguintes etapas para seu IDE:

------
#### [ JetBrains ]

1. Abra um arquivo ou projeto que você deseja revisar no IDE.

1. Selecione o ícone do Amazon Q para abrir o painel de chat. 

1. Usando linguagem natural, descreva o tipo de revisão de código que você deseja executar. Você pode revisar somente as alterações recentes do código ou um arquivo inteiro. As alterações de código são determinadas com base na saída do comando git diff no seu arquivo. Se aplicável, o Amazon Q só revisará suas alterações de código por padrão, a menos que especificado de outra forma.

1. Com seu projeto de código ou arquivo aberto no IDE, você pode inserir informações como:

   1. **Review my code changes**— O Amazon Q analisará todas as alterações de código em sua base de código

   1. **Run a code review on this entire file**— O Amazon Q revisará todo o código em seu arquivo, não apenas as alterações

   1. **Review this repository**— O Amazon Q revisará toda a sua base de código, não apenas as alterações

   Para cenários de revisão de código mais detalhados e solicitações associadas, consulte [Exemplos de solicitações](#code-review-prompts). 

1. O Amazon Q começará a revisar seu arquivo ou projeto. Após a conclusão, ele resumirá os problemas e observações de maior prioridade.

1. Se algum problema for detectado, a guia **Problemas de código** será aberta com uma lista dos problemas encontrados pela Amazon Q. 

1. Para saber mais sobre um problema de código, navegue até o painel **Problemas de código**. A partir daí, você pode fazer o seguinte:

   1. Selecione um problema para acessar a área específica do arquivo onde o código vulnerável ou de baixa qualidade foi detectado.

   1. Para obter uma explicação sobre o problema do código, selecione o ícone de lupa ao lado do nome do problema do código. O Amazon Q fornecerá detalhes sobre o problema e sugerirá uma correção que você pode inserir no código. 

   1. Para corrigir o problema do código, selecione o ícone de chave-inglesa ao lado do nome do problema do código. O Amazon Q fornecerá uma breve explicação da correção e, em seguida, fará uma correção local no arquivo do código. Você verá a alteração do código no arquivo e terá a opção de desfazer a alteração no painel de chat. 

   1. Você também pode usar a linguagem natural para perguntar mais sobre um problema, obter uma explicação das correções propostas ou solicitar soluções alternativas. 

1. Para obter mais informações sobre como resolver problemas de código, consulte [Resolver problemas de código com o Amazon Q Developer](address-code-issues.md). 

------
#### [ Código do Visual Studio ]

1. Abra um arquivo ou projeto que você deseja revisar no IDE.

1. Selecione o ícone do Amazon Q para abrir o painel de chat. 

1. Usando linguagem natural, descreva o tipo de revisão de código que você deseja executar. Você pode revisar somente as alterações recentes do código ou um arquivo inteiro. As alterações de código são determinadas com base na saída do comando git diff no seu arquivo. Se aplicável, o Amazon Q só revisará suas alterações de código por padrão, a menos que especificado de outra forma.

1. Com seu projeto de código ou arquivo aberto no IDE, você pode inserir informações como:

   1. **Review my code changes**— O Amazon Q analisará todas as alterações de código em sua base de código

   1. **Run a code review on this entire file**— O Amazon Q revisará todo o código em seu arquivo, não apenas as alterações

   1. **Review this repository**— O Amazon Q revisará toda a sua base de código, não apenas as alterações

   Para cenários de revisão de código mais detalhados e solicitações associadas, consulte [Exemplos de solicitações](#code-review-prompts). 

1. O Amazon Q começará a revisar seu arquivo ou projeto. Após a conclusão, ele resumirá os problemas e observações de maior prioridade.

1. Se algum problema for detectado, a guia **Problemas de código** será aberta com uma lista dos problemas encontrados pela Amazon Q. 

1. Para saber mais sobre um problema de código, navegue até o painel **Problemas de código**. A partir daí, você pode fazer o seguinte:

   1. Selecione um problema para acessar a área específica do arquivo onde o código vulnerável ou de baixa qualidade foi detectado.

   1. Para obter uma explicação sobre o problema do código, selecione o ícone de lupa ao lado do nome do problema do código. O Amazon Q fornecerá detalhes sobre o problema e sugerirá uma correção que você pode inserir no código. 

   1. Para corrigir o problema do código, selecione o ícone de chave-inglesa ao lado do nome do problema do código. O Amazon Q fornecerá uma breve explicação da correção e, em seguida, fará uma correção local no arquivo do código. Você verá a alteração do código no arquivo e terá a opção de desfazer a alteração no painel de chat. 

   1. Você também pode usar a linguagem natural para perguntar mais sobre um problema, obter uma explicação das correções propostas ou solicitar soluções alternativas. 

1. Para obter mais informações sobre como resolver problemas de código, consulte [Resolver problemas de código com o Amazon Q Developer](address-code-issues.md). 

------
#### [ Visual Studio ]

1. Abra um arquivo do projeto que você deseja digitalizar no Visual Studio.

1. Escolha o ícone Amazon Q na parte inferior do seu arquivo para abrir a barra de tarefas do Amazon Q.

1. Na barra de tarefas, escolha **Executar verificação de segurança**. O Amazon Q começa a escanear seu projeto. 

   Na imagem a seguir, no Visual Studio, o usuário escolhe o ícone **Amazon Q**, exibindo uma barra de tarefas na qual o usuário pode escolher **Executar verificação de segurança**.  
![\[Visual Studio com a barra de tarefas Amazon Q mostrando “Executar verificação de segurança” como opção\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/VS-scans.png)

1. O status da digitalização é atualizado no painel de saída do Visual Studio. Você será notificado quando a verificação for concluída.

   Para obter mais informações sobre como encontrar e visualizar descobertas, consulte [Resolver problemas de código com o Amazon Q Developer](address-code-issues.md).

------

## Exemplos de tarefas e solicitações
<a name="code-review-prompts"></a>

Há vários cenários em que você pode se deparar ao iniciar uma revisão de código. Veja a seguir uma visão geral de algumas maneiras de iniciar uma revisão de código e como solicitar que a Amazon Q execute a revisão desejada. 
+ Para revisar apenas as alterações no código de um único arquivo: 
  + Abra o arquivo no seu IDE e digite **Review my code**
  + Digite **Review the code in <filename>**
+ Para revisar um arquivo de código inteiro:
  + Abra um arquivo sem alterações e insira **Review my code**
  + Abra um arquivo com alterações e insira **Review my entire code file**
  + Digite **Review all the code in <filename>**
+ Para revisar todas as alterações de código no seu repositório:
  + Abra o repositório em seu IDE e insira **Review my code**
+ Para revisar todo o seu repositório, não apenas as alterações:
  + Abra o repositório em seu IDE e insira **Review my repository**

## Revisar enquanto você codifica
<a name="auto-scan"></a>

**nota**  
As revisões automáticas do Amazon Q só estão disponíveis com uma [assinatura do Amazon Q Developer Pro](getting-started-q-dev.md).

As revisões automáticas são revisões baseadas em regras fornecidas pelos [detectores do Amazon Q](https://docs.aws.amazon.com/codeguru/detector-library/). O Amazon Q revisa automaticamente o arquivo que você está codificando ativamente e gera problemas de código assim que eles são detectados em seu código. Quando o Amazon Q realiza revisões automáticas, ele não gera correções locais de código.

As revisões automáticas são habilitadas por padrão quando você usa o Amazon Q. Use o procedimento a seguir para pausar ou retomar as revisões automáticas.

**Pausar e retomar revisões automáticas**

Para pausar as revisões automáticas, conclua as etapas a seguir.

1. Selecione **Amazon Q** na parte inferior da janela do IDE.

   A barra de tarefas do Amazon Q é aberta.

1. Selecione **Pausar revisões automáticas**. Para retomar as revisões automáticas, selecione **Retomar revisões automáticas**.

# Resolver problemas de código com o Amazon Q Developer
<a name="address-code-issues"></a>

Os tópicos nesta seção explicam como abordar e resolver problemas de código e, quando aplicável, como ignorá-los.

**Topics**
+ [Resolver problemas de código no JetBrains e no Visual Studio Code](address-issues-jetbrains-visualstudiocode.md)
+ [Resolver problemas de código no Visual Studio](address-issues-visualstudio.md)

# Resolver problemas de código no JetBrains e no Visual Studio Code
<a name="address-issues-jetbrains-visualstudiocode"></a>

Para resolver um problema de código no JetBrains e no Visual Studio Code, você terá a opção de gerar uma correção local ou uma explicação que poderá ser usada para atualizar manualmente o código. 

Você poderá tomar as seguintes ações: 
+ Gerar uma correção local de código 
+ Explicar o problema e obter um novo código
+ Ignorar o problema ou todos os problemas semelhantes

## Gerar correções locais para o arquivo
<a name="generate-fixes"></a>

O Amazon Q pode atualizar os arquivos no local para corrigir automaticamente um problema de código detectado.

Para corrigir automaticamente um problema de código em seu arquivo:

------
#### [ JetBrains ]

1. Na janela da ferramenta **Problemas**, na guia **Problemas do Amazon Q Code**, escolha o problema de código que você deseja resolver.

1. Um painel é aberto com mais informações sobre o problema do código. Se aplicável, você verá detalhes sobre o detector Amazon Q que foi usado para identificar o problema do código.

1. Na parte inferior do painel, escolha **Corrigir**. 

1. No painel de chat, o Amazon Q fornece uma breve explicação da correção e, em seguida, aplica uma correção local no arquivo do código.

1. Você verá a alteração do código no arquivo e terá a opção de desfazer a alteração no painel de chat.

------
#### [ Código do Visual Studio ]

1. Na guia **Problemas de código**, selecione o problema de código que deseja resolver.

1. Escolha o ícone da chave inglesa.

   A imagem a seguir mostra o ícone de chave-inglesa de um problema de código no Visual Studio Code.  
![\[O ícone de chave inglesa para um problema de código emVisual Studio Code, usado para gerar uma correção de código.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/code-review-fix-vsc.png)

1. No painel de chat, o Amazon Q fornece uma breve explicação da correção e, em seguida, aplica uma correção local no arquivo do código.

1. Você verá a alteração do código no arquivo e terá a opção de desfazer a alteração no painel de chat.

------

## Explicar o problema do código e obter um novo código
<a name="explain-issue"></a>

O Amazon Q pode fornecer uma explicação detalhada de um problema de código e fornecer opções de correção com o código de acompanhamento para você adicionar aos seus arquivos.

Para obter uma explicação sobre um problema de código:

------
#### [ JetBrains IDEs ]

1. Na janela da ferramenta **Problemas**, na guia **Problemas do Amazon Q Code**, escolha o problema de código que você deseja resolver.

1. Um painel é aberto com mais informações sobre o problema do código. Se aplicável, você verá detalhes sobre o detector Amazon Q que foi usado para identificar o problema do código.

1. Na parte inferior do painel, escolha **Explicar**. 

1. No painel de bate-papo, o Amazon Q fornece detalhes sobre o problema e sugere como corrigi-lo, com um código que você pode inserir em seu arquivo.

1. Para atualizar seu arquivo, siga as instruções do Amazon Q sobre onde adicionar ou substituir o código e copie o código fornecido no local correto do arquivo. Certifique-se de remover o código vulnerável ao adicionar o código atualizado.

------
#### [ Código do Visual Studio ]

1. Na guia **Problemas de código**, selecione o problema de código que deseja resolver.

1. Selecione o ícone de lupa.

   A imagem a seguir mostra o ícone de lupa de um problema de código no Visual Studio Code.  
![\[O ícone de lupa para um problema de código emVisual Studio Code, usado para explicar um problema de código.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/code-review-view-details-vsc.png)

1. No painel de bate-papo, o Amazon Q fornece detalhes sobre o problema e sugere como corrigi-lo, com um código que você pode inserir em seu arquivo.

1. Para atualizar seu arquivo, siga as instruções do Amazon Q sobre onde adicionar ou substituir o código e copie o código fornecido no local correto do arquivo. Certifique-se de remover o código vulnerável ao adicionar o código atualizado.

------

## Ignorar um problema de código
<a name="ignore-issues"></a>

Se um problema de código detectado não for aplicável, você poderá optar por ignorar somente esse problema ou ele e todos os problemas semelhantes (problemas com o mesmo CWE). Os problemas serão removidos da guia Problemas de código. 

Como ignorar um problema de código:

------
#### [ JetBrains ]

1. Na janela da ferramenta **Problemas**, na guia **Problemas do Amazon Q Code**, escolha o problema de código que você deseja ignorar.

1. Um painel é aberto com mais informações sobre o problema do código. Na parte inferior do painel, escolha **Ignorar**. O problema de código é removido do painel Problema de código.

1. Você também pode escolher **Ignorar tudo** para ignorar esse e outros problemas de código com o mesmo CWE.

------
#### [ Código do Visual Studio ]

1. Na guia **Problemas de código**, escolha o problema de código que você deseja ignorar.

1. Escolha o ícone de ignorar.

   A imagem a seguir mostra o ícone de ignorar de um problema de código no Visual Studio Code.  
![\[O ícone de ignorar para um problema de código emVisual Studio Code, usado para ignorar e fechar um problema de código.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/code-review-ignore-issue-vsc.png)

1. O problema de código é removido do painel Problema de código.

1. Para ignorar problemas semelhantes, escolha o ícone de elipses e, em seguida, escolha o botão **Ignorar problemas semelhantes** que aparece.

------

# Resolver problemas de código no Visual Studio
<a name="address-issues-visualstudio"></a>

Para ver os problemas de código detectados pelo Amazon Q no Visual Studio, abra a **Lista de erros** do Visual Studio expandindo o título **Exibir** no menu principal do Visual Studio e selecionando **Lista de erros**.

Você pode usar as informações no problema do código para atualizar seu código. Após atualizar o código, revise-o novamente para ver se os problemas foram resolvidos.

Por padrão, a **Lista de erros do** Visual Studio exibe todos os avisos e erros da sua base de código. Para filtrar os problemas de código do Amazon Q na **Lista de erros** do Visual Studio, crie um filtro concluindo o procedimento a seguir.

**nota**  
Problemas de código só são visíveis após a execução de uma revisão de código na qual o Amazon Q detectou problemas.  
Problemas de código aparecem como avisos no Visual Studio. Para visualizar os problemas detectados pelo Amazon Q na **Lista de erros**, a opção **Avisos** no cabeçalho da **Lista de erros** deve ser selecionada.

**Filtrar problemas de código na Lista de erros**

1. No menu principal do Visual Studio, escolha Exibir e, em seguida, **Lista de erros** para abrir o painel **Lista de erros**.

1. No painel **Lista de erros**, clique com o botão direito da linha do cabeçalho e abra o menu de contexto.

1. No menu de contexto, expanda **Mostrar colunas** e selecione **Ferramenta** no menu expandido.

1. A coluna **Ferramenta** é adicionada à sua **Lista de erros**.

1. No cabeçalho da coluna **Ferramenta**, clique no ícone **Filtro** e selecione **Amazon Q** para filtrar os problemas de código do Amazon Q.

# Filtrar problemas de código
<a name="filter-code-issues"></a>

**nota**  
Você só pode filtrar problemas de código em JetBrains IDEs Visual Studio Code e.

Quando você filtra problemas de código, somente os problemas que atendem aos critérios selecionados são mostrados no painel Problemas de código. Você pode filtrar os problemas com base em sua gravidade para ver apenas os problemas com a gravidade selecionada no painel.

Você também pode controlar como os problemas de código são organizados no painel Problemas de código. Você pode agrupar problemas com base na severidade ou na localização do arquivo. 

Como filtrar problemas de código:

------
#### [ JetBrains IDEs ]

1. Na guia **Amazon Q Code Issues**, escolha o ícone de filtro. 

1. Um menu pop-up com os níveis de severidade é aberto.

   A imagem a seguir mostra o menu Gravidade na guia Problemas de código emIntelliJ IDEA.  
![\[O menu do filtro de gravidade emIntelliJ IDEA.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/jb-filter-issues.png)

1. Selecione ou desmarque os níveis de severidade que você deseja filtrar e, em seguida, escolha **OK**. Somente os problemas com a gravidade que você selecionou aparecerão no painel **Problemas do Amazon Q Code**. 

------
#### [ Código do Visual Studio ]

1. No painel **Problemas de código**, selecione o ícone de filtro. 

   A imagem a seguir mostra o ícone do filtro na guia Problemas de código no Visual Studio Code.  
![\[O ícone de filtro na guia Problemas de código no Visual Studio Code.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/filter-issues-vsc.png)

1. O menu **Filtrar problemas** é aberto. 

   Marque ou desmarque as caixas ao lado dos níveis de severidade que você deseja filtrar e, em seguida, escolha **OK**. Somente os problemas com a gravidade que você selecionou aparecerão no painel **Problemas de código**. 

------

Como agrupar problemas de código:

------
#### [ JetBrains IDEs ]

1. No painel **Amazon Q Code Issues**, escolha o ícone de agrupamento. 

1. Um menu pop-up **Agrupar por** é aberto.

1. Selecione **Gravidade** para agrupar problemas no painel Problemas de código com base em sua gravidade. Selecione **Local** para agrupar problemas com base no arquivo de código em que eles estão localizados.

------
#### [ Código do Visual Studio ]

1. No painel **Problemas de código**, selecione o ícone de agrupamento. 

   A imagem a seguir mostra o ícone do agrupamento na guia Problemas de código no Visual Studio Code.  
![\[O ícone de agrupamento na guia Problemas de código no Visual Studio Code.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/group-issues-vsc.png)

1. O menu **Agrupar problemas** é aberto. 

1. Selecione **Gravidade** para agrupar problemas no painel Problemas de código com base em sua gravidade. Selecione **Local** para agrupar problemas com base no arquivo de código em que eles estão localizados.

------

# Severidade do problema de código nas revisões de código do Amazon Q Developer
<a name="code-issue-severity"></a>

O Amazon Q define a severidade dos problemas de código detectados no código para que você possa priorizar quais problemas resolver e monitorar a postura de segurança da sua aplicação. As seções a seguir explicam quais métodos são usados para determinar a severidade dos problemas de código e o que cada nível de severidade significa. 

## Como a severidade é calculada
<a name="severity-calculation"></a>

A severidade de um problema de código é determinada pelo detector que gerou o problema. Cada detector no [Amazon Q Detector Library](https://docs.aws.amazon.com/codeguru/detector-library) é atribuído uma severidade usando o sistema de pontuação de vulnerabilidades comuns ([CVSS](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator)). O CVSS considera como a descoberta pode ser explorada em seu contexto (por exemplo, pode ser feita pela internet ou é necessário acesso físico) e qual nível de acesso pode ser obtido.

A tabela a seguir descreve como a severidade é determinada com base no nível de acesso e no nível de esforço necessários para um agente mal-intencionado atacar um sistema com sucesso.


**Matriz de determinação de severidade**  

| Nível de acesso | Nível de esforço | Gravidade | 
| --- | --- | --- | 
| Controle total do sistema ou de sua saída | Requer acesso ao sistema | Alto | 
| Controle total do sistema ou de sua saída | Internet com alto nível de esforço | Crítico | 
| Controle total do sistema ou de sua saída | Pela internet | Crítico | 
| Acesso a informações confidenciais | Requer acesso ao sistema | Médio | 
| Acesso a informações confidenciais | Internet com alto nível de esforço | Alto | 
| Acesso a informações confidenciais | Pela internet | Alto | 
| Pode travar ou deixar o sistema lento | Requer acesso ao sistema | Baixo | 
| Pode travar ou deixar o sistema lento | Internet com alto nível de esforço | Médio | 
| Pode travar ou deixar o sistema lento | Pela internet | Médio | 
| Fornece segurança adicional | Não explorável | Informações | 
| Fornece segurança adicional | Requer acesso ao sistema | Informações | 
| Fornece segurança adicional | Internet com alto nível de esforço | Baixo | 
| Fornece segurança adicional | Pela internet | Baixo | 
| Prática recomendada | Não explorável | Informações | 

## Definições de severidade
<a name="severity-definitions"></a>

Os níveis de severidade são definidos da forma a seguir.

 **Crítico: o problema do código deve ser resolvido imediatamente para evitar que se agrave.**

Problemas críticos de código sugerem que um invasor pode obter o controle do sistema ou modificar seu comportamento com esforço moderado. É recomendável que você trate as descobertas críticas com urgência. Você também deve considerar a importância do recurso.

 **Alto: o problema do código deve ser tratado como prioridade de curto prazo.**

Problemas de código de alta severidade sugerem que um invasor pode obter o controle do sistema ou modificar seu comportamento com grande esforço. É recomendável que você trate uma descoberta de alta severidade como uma prioridade de curto prazo e que tome medidas de correção imediatas. Você também deve considerar a importância do recurso.

 **Médio: o problema de código deve ser tratado como uma prioridade de médio prazo.**

Descobertas de severidade média podem levar a falhas, falta de resposta ou indisponibilidade do sistema. É recomendável que você investigue o código implicado o mais rápido possível. Você também deve considerar a importância do recurso.

 **Baixo: o problema do código não requer ação por conta própria.**

Descobertas de baixa severidade sugerem erros de programação ou antipadrões. Você não precisa tomar medidas imediatas em relação às descobertas de baixa severidade, mas elas podem fornecer contexto quando você as correlaciona com outros problemas.

**Informativo: nenhuma ação recomendada.**

As descobertas informativas incluem sugestões para melhorias de qualidade ou legibilidade, ou operações alternativas de API. Nenhuma ação imediata é necessária.

# Transformar código no IDE com o Amazon Q Developer
<a name="transform-in-IDE"></a>

O Amazon Q Developer pode transformar seu código em ambientes de desenvolvimento integrados (IDEs) executando atualizações e conversões automatizadas em nível de linguagem e sistema operacional (OS). Você fornece o código a ser transformado, e o Amazon Q gera alterações que você pode revisar e aplicar aos seus arquivos. 

Para começar, instale o Amazon Q em um IDE que seja compatível com transformações. Em seguida, consulte o tópico sobre o tipo de transformação que você gostaria de realizar com o Amazon Q.

Para obter mais informações sobre IDEs essa transformação de suporte e sobre como instalar o Amazon Q, consulte[Usando o Amazon Q Developer no IDE](q-in-IDE.md).

**Topics**
+ [Transformar aplicações Java com o Amazon Q Developer](transform-java.md)
+ [Transformar aplicações .NET com o Amazon Q Developer](transform-dotnet-IDE.md)

# Transformar aplicações Java com o Amazon Q Developer
<a name="transform-java"></a>

**nota**  
O AWS Transform customizado agora está disponível para atualizações de Java. IA agente que lida com atualizações de versão, migração de SDK e muito mais, e melhora a cada execução. [Conceitos básicos](https://docs.aws.amazon.com/transform/latest/userguide/custom-get-started.html)

O Amazon Q é compatível com os seguintes tipos de transformações para aplicações Java: 
+ Atualizações da linguagem Java e da versão de dependência
+ Conversão SQL incorporada para migração de banco de dados Oracle para PostgreSQL

Para começar, consulte o tópico sobre o tipo de transformação que você gostaria de realizar. 

**Topics**
+ [Cotas](#quotas-java-transformation-ide)
+ [Atualizar versões do Java com o Amazon Q Developer](code-transformation.md)
+ [Converter SQL incorporado em aplicações Java com o Amazon Q Developer](transform-sql.md)
+ [Transformar código na linha de comandos com o Amazon Q Developer](transform-CLI.md)
+ [Visualizar o histórico de trabalhos de transformação](transformation-job-history.md)
+ [Solucionar problemas com transformações Java](troubleshooting-code-transformation.md)

## Cotas
<a name="quotas-java-transformation-ide"></a>

As transformações de aplicações Java com o Amazon Q no IDE e na linha de comandos mantêm as seguintes cotas: 
+ **Linhas de código por trabalho**: o número máximo de linhas de código que o Amazon Q pode transformar em um determinado trabalho de transformação. 
+ **Linhas de código por mês**: o número máximo de linhas de código que o Amazon Q pode transformar em um mês. 
+ **Trabalhos simultâneos**: o número máximo de trabalhos de transformação que podem ser executados ao mesmo tempo. Essa cota se aplica a todas as transformações no IDE, incluindo as [transformações .NET no Visual Studio](transform-dotnet-IDE.md).
+ **Trabalhos por mês**: o número máximo de trabalhos de transformação que você pode executar em um mês. 


| Recurso | Cotas | 
| --- | --- | 
| Linhas de código por trabalho | Nível gratuito: 1.000 linhas de código | 
| Linhas de código por mês | Nível gratuito: 2.000 linhas de código | 
| Tarefas simultâneas |  1 trabalho por usuário 25 trabalhos por AWS conta  | 
| Trabalhos por mês |  Nível Pro: 1.000 trabalhos Nível gratuito: 100 trabalhos  | 

# Atualizar versões do Java com o Amazon Q Developer
<a name="code-transformation"></a>

O Amazon Q Developer pode atualizar aplicações Java para versões de linguagem mais recentes no ambiente de desenvolvimento integrado (IDE). As alterações que o Amazon Q pode fazer para atualizar seu código incluem a atualização de componentes de código obsoletos e APIs a atualização de bibliotecas, estruturas e outras dependências em seu código. 

Para transformar o código, o Amazon Q primeiro o compila na versão da linguagem de origem e verifica se ele tem as informações necessárias para realizar a transformação. Após o Amazon Q transformar o código com sucesso, é possível verificar e aceitar as alterações no IDE. Como o Amazon Q Developer faz as alterações mínimas necessárias para tornar o código atualizado compatível com o JDK de destino, é necessária uma transformação adicional para atualizar as bibliotecas e dependências do projeto. Para obter mais informações sobre como o Amazon Q transforma seu código, consulte [Como o Amazon Q Developer transforma o código para atualizações da linguagem Java](how-CT-works.md).

**Topics**
+ [Atualizações de Java suportadas e IDEs](#supported-languages-IDEs)
+ [Etapa 1: pré-requisitos](#java-upgrade-prerequisites)
+ [Etapa 2: configurar o projeto](#configure-project)
+ [Etapa 3: criar um arquivo de atualização de dependência (opcional)](#create-dependency-upgrade-file)
+ [Etapa 4: transformar o código](#transform-code-java)
+ [Como o Amazon Q Developer transforma o código para atualizações da linguagem Java](how-CT-works.md)

## Atualizações de Java suportadas e IDEs
<a name="supported-languages-IDEs"></a>

Atualmente, o Amazon Q é compatível com as versões Java abaixo de código-fonte e de destino para transformações. A transformação do código para a mesma versão Java inclui a atualização de bibliotecas e outras dependências na versão do código-fonte.


**Atualizações de Java compatíveis**  

| Versão do código-fonte | Versões de destino compatíveis | 
| --- | --- | 
| Java 8  | Java 17 e Java 21 | 
| Java 11 | Java 17 e Java 21 | 
| Java 17 | Java 17 e Java 21  | 
| Java 21 |  Java21   | 

O Amazon Q oferece suporte a atualizações de Java nas seguintes áreas: IDEs
+ Módulos em JetBrains IDEs
+ Projetos e espaços de trabalho no Visual Studio Code

## Etapa 1: pré-requisitos
<a name="java-upgrade-prerequisites"></a>

Antes de continuar, certifique-se de que você concluiu as etapas em [Configurar o Amazon Q no IDE](q-in-IDE-setup.md).

Antes de começar, certifique-se de que os seguintes pré-requisitos são atendidos: 
+ Seu projeto foi escrito em uma [versão Java compatível](#supported-languages-IDEs) e foi criado no Maven.
+ Seu projeto foi compilado com sucesso com o Maven em seu IDE. Atualmente, o Maven 3.8 ou posterior é compatível. 
+ O JDK de origem do seu projeto está disponível localmente e é a versão do seu código-fonte. Por exemplo, se você estiver transformando o código Java 8, sua instalação local do JDK deverá ser o JDK 8.
+ Seu projeto é construído em 55 minutos ou menos. 
+ Seu projeto está configurado corretamente e a versão correta do JDK foi especificada. Para obter mais informações, consulte [Etapa 2: configurar o projeto](#configure-project).
+ Seu projeto não exige acesso a recursos em sua rede privada, incluindo uma nuvem privada virtual (VPC) ou uma rede on-premises. Por exemplo, se seu projeto contiver testes de unidade que se conectam a um banco de dados em sua rede, a transformação falhará.
+ Seu projeto não usa plug-ins que empacotam linguagens diferentes de Java em seu projeto Java. Por exemplo, se seu projeto usar o [frontend-maven-plugin](https://github.com/eirslett/frontend-maven-plugin)para executar código de front-end além JavaScript do código-fonte Java, a transformação falhará.
+ Sua rede local permite uploads para buckets do Amazon S3 que o Amazon Q usa para transformar seu código. Para obter mais informações, consulte [Permitir acesso aos buckets do Amazon S3 em](firewall.md#data-perimeters) perímetros de dados.
+ Sua aplicação usa somente caracteres UTF-8. Se sua aplicação usar caracteres não UTF-8, o Amazon Q ainda tentará transformar seu código. 

## Etapa 2: configurar o projeto
<a name="configure-project"></a>

Para configurar seu projeto, use as informações a seguir para o IDE que você está usando.

### Configurar um projeto no JetBrains
<a name="configure-jetbrains"></a>

Para configurar seu projeto em JetBrains, talvez seja necessário especificar as seguintes configurações de projeto e módulo. 

Se seus módulos usam o mesmo JDK e o mesmo nível de linguagem do seu projeto, você não precisa atualizar as configurações do módulo.
+ SDK do projeto: o JDK usado para compilar seu projeto. 
+ Nível de linguagem do projeto: a versão do Java usada em seu projeto.
+ SDK do módulo: o JDK usado para compilar seu módulo. 
+ Nível de idioma do módulo: a versão do Java usada em seu módulo. 
+ Maven Runner JRE: o JDK com o qual você constrói seu módulo. 

**Atualizar as configurações do projeto e do módulo**

Para atualizar as configurações de SDK e de nível de idioma para o projeto ou módulo, siga as etapas a seguir:

1. No seu JetBrains IDE, escolha **Arquivo** e, em seguida, **Estrutura do projeto**. 

1. A janela Project Structure é aberta. Em **Configurações do projeto**, escolha **Módulos**. 

   1. Para atualizar o JDK do seu projeto, escolha na lista suspensa ao lado do **SDK**. 

   1. Para atualizar o idioma do seu projeto, escolha no menu suspenso ao lado do nível do **idioma**. 

1. Em **Configurações do projeto**, escolha **Módulos**. 

   1. Para atualizar seu módulo JDK, escolha na lista suspensa ao lado do **SDK**. 

   1. Para atualizar o idioma do seu módulo, escolha no menu suspenso ao lado do nível do **idioma**.

Para obter mais informações, consulte [Configurações da estrutura do projeto](https://www.jetbrains.com/help/idea/project-settings-and-structure.html) e [Configurações da estrutura do módulo](https://www.jetbrains.com/help/idea/configure-modules.html) na documentação do JetBrains.

**Atualizar as configurações do Maven**

Para atualizar o JRE do Maven Runner, siga as etapas a seguir:

1. No IDE JetBrains, selecione o ícone de engrenagem e, em seguida, escolha **Configurações** no menu que é exibido. 

1. Na janela **Configurações**, escolha **Construção, Execução, Implantação** depois **Ferramentas de Construção**, depois **Maven** e depois **Executor**.

1. No campo JRE, escolha o JDK usado para criar o módulo que você está transformando.

### Configurar um projeto no VS Code
<a name="configure-vsc"></a>

Para configurar seu projeto em VS Code, seu projeto deve conter o seguinte: 
+ O arquivo `pom.xml` na pasta do projeto
+ O arquivo `.java` no seu diretório de projeto

Se seu projeto contiver um Maven wrapper executável (`mvnw` para macOS ou `mvnw.cmd` para Windows), verifique se ele está na raiz do seu projeto. O Amazon Q usará o wrapper e nenhuma outra configuração Maven será necessária.

Se você não estiver usando um Maven wrapper, instale Maven. Para obter mais informações, consulte [Instalação do Apache Maven](https://maven.apache.org/install.html) na documentação do Apache Maven.

Depois de instalar Maven, adicione-o à sua `PATH` variável. Para obter mais informações, consulte [Como faço para adicionar o Maven ao meu `PATH`?](troubleshooting-code-transformation.md#add-maven-to-path) Sua `runtime` variável Java também deve estar apontando para um JDK e não para um JRE. Para confirmar se sua configuração está correta, execute `mvn -v`. A saída deve mostrar sua Maven versão e a `runtime` variável apontando para o caminho para seu JDK.

## Etapa 3: criar um arquivo de atualização de dependência (opcional)
<a name="create-dependency-upgrade-file"></a>

Você pode fornecer ao Amazon Q um *arquivo de atualização de dependência*, um arquivo YAML que lista as dependências do seu projeto e as versões para as quais atualizar durante uma transformação. Ao fornecer um arquivo de atualização de dependências, você poderá especificar dependências de terceiros e primárias que o Amazon Q talvez não saiba que precisam ser atualizadas.

As dependências primárias se referem às bibliotecas, plug-ins e estruturas que sua organização mantém e estão disponíveis somente localmente ou na rede privada da sua organização. O Amazon Q é capaz de acessar suas dependências primárias ao realizar compilações em seu ambiente local. Para obter mais informações, consulte [Compilar código no ambiente local](how-CT-works.md#java-local-builds). Dependências de terceiros são dependências disponíveis publicamente ou de código aberto que não são exclusivas da sua organização.

Você pode especificar dependências primárias que deseja atualizar em um arquivo YAML, e o Amazon Q as atualiza durante a atualização do JDK (por exemplo, do Java 8 para o 17). É possível iniciar uma transformação separada (do 17 para o 17 ou do 21 para 21) após a atualização inicial do JDK para atualizar dependências de terceiros.

Após o Amazon Q realizar uma atualização mínima do JDK, você poderá iniciar uma transformação separada para atualizar todas as dependências de terceiros. Como alternativa, é possível especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar somente essas dependências durante a transformação de atualização da biblioteca.

O Amazon Q solicitará que você forneça um arquivo de atualização de dependência durante a transformação. Se você quiser fornecer um, primeiro verifique se configurou o arquivo corretamente. Os seguintes campos são necessários no arquivo YAML:
+ name: o nome do arquivo de atualização de dependência.
+ description (opcional): uma descrição do arquivo de atualização da dependência e para qual transformação.
+ dependencyManagement: contém a lista de dependências e plug-ins a serem atualizados.
+ dependencies: contém o nome e a versão das bibliotecas a serem atualizadas.
+ plugins: contém os nomes e as versões dos plug-ins a serem atualizados.
+ identifier: o nome da biblioteca, plug-in ou outra dependência.
+ targetVersion: a versão da dependência para a qual atualizar.
+ versionProperty (opcional): a versão da dependência que você está definindo, conforme definida com a tag `properties` no arquivo `pom.xml` da sua aplicação.
+ originType: se a dependência é primária ou de terceiros, especificada por FIRST\$1PARTY ou THIRD\$1PARTY.

Veja a seguir um exemplo de um arquivo YAML de atualização de dependência e a configuração necessária para análise do Amazon Q:

```
name: dependency-upgrade
  
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
  
  
dependencyManagement:
  
  dependencies:
  
    - identifier: "com.example:library1"
  
      targetVersion: "2.1.0"
  
      versionProperty: "library1.version"  # Optional
  
      originType: "FIRST_PARTY"   
  
    - identifier: "com.example:library2"
  
      targetVersion: "3.0.0"
  
      originType: "THIRD_PARTY"
  
  plugins:
  
    - identifier: "com.example.plugin"
  
      targetVersion: "1.2.0"
  
      versionProperty: "plugin.version"  # Optional
            
      originType: "THIRD_PARTY"
```

## Etapa 4: transformar o código
<a name="transform-code-java"></a>

Para testar a configuração do seu IDE, baixe e descompacte o projeto de amostra e conclua as etapas a seguir para seu IDE. Se você conseguir visualizar as alterações propostas e o resumo da transformação, estará pronto para transformar seu próprio projeto de código. Se a transformação falhar, o IDE não está configurado corretamente. Para resolver problemas de configuração, revise [Etapa 2: configurar o projeto](#configure-project) e [Solução de problemas](troubleshooting-code-transformation.md).

**nota**  
Não desligue, feche ou coloque sua máquina local em modo de espera durante a transformação do código. As compilações inicial e de validação usam o ambiente do lado do cliente, o que requer uma conexão de rede estável. 

Conclua estas etapas para atualizar a versão da linguagem de código do projeto ou módulo de código.

------
#### [ JetBrains ]

1. Abra o módulo no qual você deseja atualizar em JetBrains. Certifique-se de ter construído seu projeto com sucesso no IDE. 

1. Escolha o logotipo da Amazon Q e peça à Amazon Q que transforme seu aplicativo no painel de bate-papo que se abre.

1. Um pop-up **Transforme seu aplicativo** é exibido. Escolha o projeto que você deseja atualizar na lista suspensa e, em seguida, escolha **Transformar**. 

1. O Amazon Q solicita que você forneça um arquivo de dependência de atualização. Se você configurou um YAML com as dependências e a versão para a qual deseja atualizar, adicione seu arquivo. O Amazon Q validará o arquivo para garantir que ele esteja configurado corretamente. Se ocorrer um erro, revise o formato e os campos necessários descritos em [Etapa 3: criar um arquivo de atualização de dependência (opcional)](#create-dependency-upgrade-file).

1. O Amazon Q inicia a transformação. Você pode ver o progresso na guia **Detalhes da transformação**. 

1. Depois que a transformação for concluída, você poderá verificar o código atualizado antes de atualizar seu projeto. Para ver o novo código, vá até a guia **Detalhes da transformação** e escolha **Exibir diferença**. Na janela **Aplicar patch** exibida, escolha um arquivo para abrir uma visualização de diferenças com seu código-fonte e o código atualizado. 

1. Para aceitar as alterações feitas pelo Amazon Q, escolha **Exibir diferença** para abrir a janela **Aplicar patch**. Selecione todos os arquivos atualizados e escolha **OK** para atualizar seu projeto no local. 

1. Para obter detalhes sobre como seu código foi atualizado e sugerir as próximas etapas, na guia **Detalhes da transformação**, escolha **Exibir resumo da transformação**. 

------
#### [ Visual Studio Code ]

1. Abra o projeto ou o espaço de trabalho no VS Code que você deseja atualizar. Certifique-se de que você construiu o projeto com êxito no IDE. 

1. Escolha o logotipo da Amazon Q e peça à Amazon Q que transforme seu aplicativo no painel de bate-papo que se abre.

1. Escolha o projeto que você deseja atualizar na barra de pesquisa na parte superior do IDE. 

1. Se o Amazon Q não conseguir encontrar a versão do seu código-fonte, ele solicitará que você escolha a versão do seu código. Escolha a versão em que seu código-fonte está escrito e, em seguida, escolha **Transformar** no pop-up para continuar. 

1. Caso seja solicitado, insira o caminho `JAVA_HOME` para o JDK. Para obter mais informações, consulte [Configurar seu projeto VS Code](#configure-vsc). 

1. O Amazon Q solicita que você forneça um arquivo de dependência de atualização. Se você configurou um YAML com as dependências e a versão para a qual deseja atualizar, adicione seu arquivo. O Amazon Q validará o arquivo para garantir que ele esteja configurado corretamente. Se ocorrer um erro, revise o formato e os campos necessários descritos em [Etapa 3: criar um arquivo de atualização de dependência (opcional)](#create-dependency-upgrade-file).

1. O Amazon Q inicia a transformação. Você pode ver o progresso na guia **Hub de transformação**. 

1. Depois que a transformação for concluída, a guia **Alterações propostas** será aberta. Para verificar o código atualizado antes de atualizar seu projeto, escolha **Baixar as alterações propostas**. Escolha um arquivo para abrir uma visualização de diferenças com seu código-fonte e código atualizado. 

1. Para aceitar as alterações feitas pela Amazon Q, acesse a guia **Alterações propostas** e escolha **Aceitar**. 

1. Para obter detalhes sobre como seu código foi atualizado e ver as próximas etapas sugeridas, no **Transformation Hub**, escolha o botão de reticências **Visualizações e Mais Ações** e, em seguida, escolha **Mostrar resumo da transformação**.

------

# Como o Amazon Q Developer transforma o código para atualizações da linguagem Java
<a name="how-CT-works"></a>

Para transformar o código, o Amazon Q Developer gera um plano de transformação usado para atualizar a versão da linguagem de código do projeto. Depois de transformar seu código, ele fornece um resumo da transformação e uma comparação de arquivos para você revisar as alterações antes de aceitá-las. Como o Amazon Q Developer faz as alterações mínimas necessárias para tornar o código atualizado compatível com o JDK de destino, é necessária uma transformação adicional para atualizar as bibliotecas e dependências do projeto. As seções a seguir fornecem mais detalhes sobre como o Amazon Q realiza a transformação.

## Criar seu código e criar um plano de transformação
<a name="build-code-create-plan"></a>

Para começar a transformar seu código, o Amazon Q cria seu projeto localmente e gera um artefato de construção que contém seu código-fonte, dependências do projeto e logs de criação. 

Depois de gerar o artefato de construção, o Amazon Q cria seu código em um ambiente de compilação seguro e cria um plano de transformação, que é personalizado para o projeto ou módulo que você está atualizando. O plano de transformação descreve as mudanças específicas que o Amazon Q tentará fazer, incluindo novas versões de dependência, grandes alterações no código e sugestões de substituições para o código obsoleto. Essas alterações são baseadas na compilação preliminar do seu código e podem mudar durante a transformação.

## Transformar o código
<a name="transform-code"></a>

Para transformar seu código, o Amazon Q tenta atualizá-lo para a versão Java de destino com base nas alterações propostas no plano de transformação. À medida que faz alterações, ele reconstrói e executa testes de unidade existentes em seu código-fonte para corrigir iterativamente quaisquer erros encontrados. A atualização do JDK pode ser feita da seguinte versão do código-fonte para a versão de destino:
+ Java 8 para 17
+ Java 8 para 21
+ Java 11 para 17
+ Java 11 para 21
+ Java 17 para 21

O Amazon Q faz as alterações mínimas necessárias para tornar seu código compatível com a versão Java de destino. Após o Amazon Q realizar uma atualização mínima do JDK, você poderá iniciar uma transformação separada para atualizar todas as dependências de terceiros. Como alternativa, é possível especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar somente essas dependências durante a transformação de atualização da biblioteca.

O Amazon Q tenta fazer as seguintes alterações ao atualizar seu código:
+ Atualizar componentes de código obsoletos conforme as recomendações da versão Java de destino.
+ Atualizar bibliotecas e estruturas populares para uma versão compatível com a versão Java de destino. Isso inclui atualizar as seguintes bibliotecas e estruturas para as versões principais mais recentes disponíveis: 
  + Apache Commons E/S 
  + Apache HttpClient 
  + fips do bc-fips 
  + Pepino-JVM 
  + Hibernar 
  + jackson-annotations 
  + JakartaEE
  + Javax 
  + javax.servlet 
  + jaxb-api 
  + jaxb-impl 
  + jaxen 
  + jcl-over-slf4j 
  + JSON simples 
  + jsr305 
  + junit 
  + junit-jupiter-api 
  + Log4j 
  + Micronaut 
  + Mockito 
  + mockito-core 
  + Okio 
  + PowerMockito 
  + Quarkus 
  + slf4j 
  + slf4j-api 
  + Bota de primavera 
  + Framework da 
  + Spring Security 
  + Swagger 
  + testando 

**nota**  
Não desligue nem feche sua máquina local durante a transformação do código porque a compilação do lado do cliente requer uma conexão de rede estável.

## Compilar código no ambiente local
<a name="java-local-builds"></a>

Durante uma transformação, o Amazon Q realiza compilações de verificação em seu ambiente local. O Amazon Q transforma seu código no lado do servidor em várias etapas. Após cada etapa, o Amazon Q envia o código para seu ambiente local para compilar e testar as alterações feitas. O código é então enviado de volta para o lado do servidor para continuar a transformação. 

A compilação no ambiente local ajuda a verificar o código transformado, permitindo que o Amazon Q execute testes que exigem acesso a recursos privados. Para minimizar os riscos de segurança associados à compilação de código gerado por IA no ambiente local, o Amazon Q revisa e atualiza o código que gera para tratar de questões de segurança.

## Revisando o resumo da transformação e aceitando as alterações
<a name="review-plan-accept-changes"></a>

Depois que a transformação for concluída, o Amazon Q fornece um resumo da transformação com detalhes sobre as alterações feitas, incluindo o status da versão final, que indica se todo o seu projeto foi atualizado. Você também pode ver um resumo do log de compilação para entender quaisquer problemas que impediram o Amazon Q de criar seu código na versão atualizada.

Além disso, o resumo da transformação inclui as diferenças entre as mudanças propostas no plano de transformação e as alterações que a Amazon Q fez para atualizar seu código e quaisquer alterações adicionais que não estavam no plano original. 

Depois de revisar o resumo da transformação, você pode visualizar as alterações que o Amazon Q está propondo em uma visualização de comparação de arquivos. Qualquer alteração de código sugerida pela Amazon Q não afetará seus arquivos de projeto atuais até que você aceite as alterações. O código transformado está disponível até 30 dias após a conclusão da transformação. 

## Concluindo transformações parcialmente bem-sucedidas
<a name="partially-successful-transformations"></a>

Dependendo da complexidade e das especificidades da sua base de código, pode haver instâncias em que a transformação seja parcialmente bem-sucedida. Isso significa que o Amazon Q conseguiu transformar somente determinados arquivos ou áreas de código em seu projeto. Nesse caso, você precisa atualizar manualmente o código restante para que seu projeto possa ser compilado na versão atualizada do idioma. 

Para ajudar a transformar o resto do seu código, você pode usar o Amazon Q chat no IDE. Você pode pedir à Amazon Q que revise os arquivos parcialmente atualizados e forneça um novo código para resolver problemas, como erros de compilação. Você também pode usar recursos como [desenvolvimento de recursos](q-in-IDE-chat.md#develop-code) e [contexto do espaço de trabalho](workspace-context.md) para incluir mais do seu projeto como contexto e obter sugestões para vários arquivos ao mesmo tempo. 

# Converter SQL incorporado em aplicações Java com o Amazon Q Developer
<a name="transform-sql"></a>

O agente Amazon Q Developer para transformação de código no IDE pode ajudá-lo a converter SQL incorporado para concluir a migração do banco de dados Oracle para PostgreSQL AWS Database Migration Service com AWS (DMS).

AWS O DMS é um serviço em nuvem que possibilita a migração de bancos de dados relacionais, data warehouses, bancos de dados NoSQL e outros tipos de armazenamentos de dados. A DMS Schema Conversion no AWS DMS ajuda a converter esquemas de banco de dados e objetos de código que você pode aplicar ao seu banco de dados de destino. Para obter mais informações, consulte [O que é AWS Database Migration Service?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) no *Guia do AWS Database Migration Service usuário*.

Ao usar o AWS DMS e o DMS Schema Conversion para migrar um banco de dados, talvez seja necessário converter o SQL incorporado em seu aplicativo para ser compatível com seu banco de dados de destino. Em vez de convertê-lo manualmente, você pode usar o Amazon Q no IDE para automatizar a conversão. O Amazon Q usa metadados da DMS Schema Conversion para converter SQL incorporado na sua aplicação em uma versão compatível com o banco de dados de destino.

Atualmente, o Amazon Q pode converter SQL em aplicações Java para bancos de dados Oracle migrando para o PostgreSQL. Você só verá a opção de transformar o código SQL no IDE se sua aplicação contiver instruções SQL do Oracle. Consulte os pré-requisitos para obter mais informações. 

## Etapa 1: pré-requisitos
<a name="sql-transform-prereqs"></a>

Antes de continuar, certifique-se de que você concluiu as etapas em [Configurar o Amazon Q no IDE](q-in-IDE-setup.md).

Antes de iniciar um trabalho de transformação de código para conversão SQL, verifique se os seguintes pré-requisitos foram atendidos:
+ Você está migrando uma aplicação Java com SQL incorporado de um banco de dados Oracle para um banco de dados PostgreSQL. Sua aplicação deve conter instruções SQL do Oracle para ser qualificada para transformação. 
+ Você concluiu o processo de conversão do esquema do banco de dados usando o AWS DMS Schema Conversion. Para obter mais informações, consulte [Migrating Oracle databases to Amazon RDS for PostgreSQL with DMS Schema Conversion](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html) no *Guia de migração de banco de dados*.
+ Após a conclusão da conversão do esquema, você baixou o arquivo do projeto de migração do console do AWS DMS.

## Etapa 2: configurar a aplicação
<a name="sql-transform-configure"></a>

Para converter o código SQL incorporado, seu projeto Java deve conter pelo menos um arquivo `.java`. 

Se você estiver usando um JetBrains IDE, deverá definir o campo SDK nas configurações da Estrutura do Projeto para o JDK aplicável. Para obter informações sobre como definir as configurações da estrutura do [projeto, consulte Configurações da estrutura do](https://www.jetbrains.com/help/idea/project-settings-and-structure.html) projeto na JetBrains documentação. 

## Etapa 3: converter SQL incorporado
<a name="convert-sql"></a>

Para converter o código SQL incorporado em sua aplicação Java em um formato compatível com o banco de dados de destino do PostgreSQL, conclua as seguintes etapas:

1. No IDE onde o Amazon Q está instalado, abra a base de código Java que contém o SQL incorporado que você precisa converter. 

1. Selecione o ícone do Amazon Q para abrir o painel de chat. 

1. Peça à Amazon Q que transforme seu aplicativo no painel de bate-papo.

1. Se a aplicação Java estiver qualificada para conversão SQL, o Amazon Q solicitará que você selecione o tipo de transformação que deseja realizar. Insira **SQL conversion**. 

1. O Amazon Q solicita que você carregue o arquivo de metadados do esquema que você recuperou do Amazon S3. No chat, o Amazon Q fornece instruções para recuperar o arquivo. 

1. O Amazon Q solicita que você forneça o projeto que contém o SQL incorporado, bem como o arquivo do esquema do banco de dados. Selecione os arquivos apropriados nos menus suspensos no painel de chat.

1. Confirme se os detalhes que o Amazon Q recuperou do esquema do banco de dados estão corretos. 

1. O Amazon Q começa a converter o código SQL. Isso pode levar alguns minutos.

1. Depois que o Amazon Q converte o código SQL, ele fornece uma comparação com todas as atualizações feitas nos arquivos. Revise as alterações nas comparações e, em seguida, aceite as alterações para atualizar o código. 

   O Amazon Q também fornece um resumo da transformação com detalhes sobre as alterações que realizou.

1. Depois de atualizar seu código, retorne ao console do AWS DMS para verificar se o novo SQL é compatível com o banco de dados migrado. 

# Transformar código na linha de comandos com o Amazon Q Developer
<a name="transform-CLI"></a>

Você pode transformar suas aplicações por meio da linha de comandos com a ferramenta de transformação de linha de comandos do Amazon Q Developer. Para transformar seu código, você fornece o caminho para o código-fonte e todos os arquivos de configuração necessários, e o Amazon Q gera o novo código em uma série de etapas. Durante a transformação, o Amazon Q cria código em seu ambiente local para verificar as alterações. Para obter mais informações, consulte [Compilar código no ambiente local](#local-builds). O Amazon Q cria uma ramificação em seu repositório onde confirma as alterações no código. Quando a transformação estiver concluída, você pode mesclar a ramificação em sua ramificação original para incorporar as alterações à sua base de código. 

Para começar, instale a ferramenta de linha de comando, faça a autenticação e, em seguida, veja os comandos para configurar e iniciar uma transformação. 

**Topics**
+ [Compilar código no ambiente local](#local-builds)
+ [Comandos](#commands)
+ [Executar uma transformação na linha de comandos com o Amazon Q Developer](run-CLI-transformations.md)
+ [Solucionar problemas de transformações na linha de comando](troubleshooting-CLI-transformations.md)
+ [Histórico de versões da ferramenta de transformação de linha de comandos do Amazon Q Developer](transform-CLI-versions.md)

## Compilar código no ambiente local
<a name="local-builds"></a>

Durante uma transformação, o Amazon Q realiza compilações de verificação em seu ambiente local. O Amazon Q transforma seu código no lado do servidor em várias etapas. Após cada etapa, o Amazon Q envia o código para seu ambiente local para compilar e testar as alterações feitas. O código é então enviado de volta para o lado do servidor para continuar a transformação. 

A compilação no ambiente local ajuda a verificar o código transformado, permitindo que o Amazon Q execute testes que exigem acesso a recursos privados. Para minimizar os riscos de segurança associados à compilação de código gerado por IA no ambiente local, o Amazon Q revisa e atualiza o código que gera para tratar de questões de segurança.

**nota**  
O Amazon Q realiza transformações com base nas solicitações, descrições e conteúdo do projeto. Para manter a segurança, evite incluir artefatos externos não verificados no repositório do projeto e sempre valide o código transformado em termos de funcionalidade e segurança.

## Comandos
<a name="commands"></a>

Para step-by-step obter instruções sobre como executar esses comandos, consulte[Executar uma transformação na linha de comandos com o Amazon Q Developer](run-CLI-transformations.md). 

Para configurar uma transformação e se autenticar no Amazon Q Developer Pro, execute:

```
qct configure
```

Para iniciar uma transformação para uma atualização do Java, execute o comando a seguir. Para*<your-source-java-version>*, você pode inserir `JAVA_1.8``JAVA_8`,`JAVA_11`,`JAVA_17`, ou`JAVA_21`. Para*<your-target-java-version>*, você pode inserir um `JAVA_17` ou`JAVA_21`. `--source_version` e `--target_version` são opcionais. O sinalizador `--trust` permite que uma transformação seja executada durante a verificação do código para manter a segurança.

```
qct transform --source_folder <path-to-folder>
    --source_version <your-source-java-version>        
    --target_version <your-target-java-version>
    --trust
```

Para iniciar uma transformação para uma conversão SQL, execute:

```
qct transform --source_folder <path-to-folder>
    --sql_conversion_config_file <path-to-sql-config-file>
```

Para ver qual versão da ferramenta de linha de comandos para transformação você está usando, execute:

```
qct -v
```

Para obter ajuda com as transformações, execute:

```
qct -h
```

Para visualizar seu histórico de trabalhos de transformação, execute:

```
qct history
```

Para obter mais informações sobre como visualizar e gerenciar o histórico de trabalhos de transformação, consulte [Visualizar o histórico de trabalhos na linha de comando](transformation-job-history.md#cli-job-history).

# Executar uma transformação na linha de comandos com o Amazon Q Developer
<a name="run-CLI-transformations"></a>

Conclua estas etapas para transformar seu código na linha de comandos com a ferramenta de linha de comandos do Amazon Q Developer.

## Pré-requisitos
<a name="CLI-transformation-prerequisites"></a>

Antes de iniciar uma transformação na linha de comando, os seguintes pré-requisitos devem ser atendidos:
+ Se você está atualizando sua versão do código Java, seu projeto atende aos [pré-requisitos para atualizar versões Java com o Amazon Q](code-transformation.md#java-upgrade-prerequisites).
+ Se você está convertendo SQL incorporado em uma aplicação Java, sua aplicação atende aos [pré-requisitos para converter SQL incorporado com o Amazon Q](transform-sql.md#sql-transform-prereqs).
+ Você tem o Python instalado no ambiente de linha de comando. É assim que você instalará a ferramenta de linha de comando. A versão mínima compatível do Python é 3.12.
+ Você está executando a transformação no Linux ou no macOS. 
+ O tamanho da sua aplicação é de 2 GB ou menos. 
+ Se tem dependências específicas que deseja que o Amazon Q atualize, você configurou um [arquivo de atualização de dependências](#step-3-dependency-upgrade-file).

## Etapa 1: selecionar o método de autenticação e adicionar permissões
<a name="step-1-permissions-auth"></a>

Você pode autenticar o Centro de Identidade do IAM para executar transformações na linha de comando. Verifique se você tem as permissões necessárias.

**nota**  
As chaves gerenciadas pelo cliente não são compatíveis com transformações realizadas na linha de comando.

### Adicionar permissões
<a name="transform-CLI-add-permissions"></a>

A identidade do IAM associada à assinatura do Amazon Q Developer que você está usando para se autenticar deve ter permissões para executar transformações na linha de comando. Antes de continuar, verifique se a sua identidade do IAM tem as permissões definidas em [Permitir que os usuários executem transformações na linha de comandos](id-based-policy-examples-users.md#id-based-policy-examples-allow-cli-transformations).

### Autenticar-se com o Centro de Identidade do IAM por meio de uma assinatura do Amazon Q Developer
<a name="auth-IdC"></a>

Para se autenticar com o Centro de Identidade do IAM, você precisa ter uma [assinatura do Amazon Q Developer Pro como usuário da força de trabalho](subscribe-users.md) pelo administrador e fornecer o URL inicial para autenticação por meio de sua assinatura. Você ou seu administrador podem encontrar o URL inicial no console do Amazon Q Developer. Para obter mais informações, consulte, [Encontrar o URL inicial para uso com o Amazon Q Developer](manage-account-details.md).

Para adicionar as permissões necessárias, consulte [Adicionar permissões](#transform-CLI-add-permissions).

Você fornece o URL inicial em [Etapa 4: configurar e autenticar-se](#step-4-configure-auth).

## Etapa 2: instalar a ferramenta
<a name="step-2-install"></a>



1. [Baixe a ferramenta de linha de comandos do Amazon Q para transformações](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip) e descompacte-a.

   Para baixar uma versão anterior da ferramenta de linha de comando, consulte [Histórico de versões](transform-CLI-versions.md).

1. Recomendamos que você configure um ambiente virtual em Python para instalar a ferramenta. Para criar um ambiente virtual, abra uma janela de terminal no diretório em que você deseja instalar a ferramenta e execute:

   ```
   python -m venv qct-cli 
   ```

1. Para ativar o ambiente virtual, execute: 

   ```
   source qct-cli/bin/activate 
   ```

1. Para instalar a ferramenta na linha de comando, execute o seguinte comando com o caminho para onde você descompactou a ferramenta, com base na arquitetura da sua máquina:

------
#### [ Linux\$1aarch64 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
#### [ Linux\$1x86\$164 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
**nota**  
Se estiver usando uma versão mais antiga da ferramenta de linha de comandos para transformações, substitua `1.2.2` pela [versão](transform-CLI-versions.md) que você baixou.

1. Para verificar se a ferramenta foi instalada, execute:

   ```
   which qct
   ```

## Etapa 3: criar um arquivo de atualização de dependência (opcional)
<a name="step-3-dependency-upgrade-file"></a>

Você pode fornecer ao Amazon Q um *arquivo de atualização de dependência*, um arquivo YAML que lista as dependências do seu projeto e as versões para as quais atualizar durante uma transformação. Ao fornecer um arquivo de atualização de dependências, você poderá especificar dependências de terceiros e primárias que o Amazon Q talvez não saiba que precisam ser atualizadas.

As dependências primárias se referem às bibliotecas, plug-ins e estruturas que sua organização mantém e estão disponíveis somente localmente ou na rede privada da sua organização. O Amazon Q é capaz de acessar suas dependências primárias ao realizar compilações em seu ambiente local. Para obter mais informações, consulte [Compilar código no ambiente local](transform-CLI.md#local-builds). Dependências de terceiros são dependências disponíveis publicamente ou de código aberto que não são exclusivas da sua organização.

Você pode especificar dependências primárias que deseja atualizar em um arquivo YAML, e o Amazon Q as atualiza durante a atualização do JDK (por exemplo, do Java 8 para o 17). É possível iniciar uma transformação separada (do 17 para o 17 ou do 21 para 21) após a atualização inicial do JDK para atualizar dependências de terceiros.

Após o Amazon Q realizar uma atualização mínima do JDK, você poderá iniciar uma transformação separada para atualizar todas as dependências de terceiros. Como alternativa, é possível especificar dependências de terceiros e suas versões em um arquivo YAML para atualizar somente essas dependências durante a transformação de atualização da biblioteca.

O Amazon Q solicitará que você forneça um arquivo de atualização de dependência durante a transformação. Se você quiser fornecer um, primeiro verifique se configurou o arquivo corretamente. Os seguintes campos são necessários no arquivo YAML:
+ name: o nome do arquivo de atualização de dependência.
+ description (opcional): uma descrição do arquivo de atualização da dependência e para qual transformação.
+ dependencyManagement: contém a lista de dependências e plug-ins a serem atualizados.
+ dependencies: contém o nome e a versão das bibliotecas a serem atualizadas.
+ plugins: contém os nomes e as versões dos plug-ins a serem atualizados.
+ identifier: o nome da biblioteca, plug-in ou outra dependência.
+ targetVersion: a versão da dependência para a qual atualizar.
+ versionProperty (opcional): a versão da dependência que você está definindo, conforme definida com a tag `properties` no arquivo `pom.xml` da sua aplicação.
+ originType: se a dependência é primária ou de terceiros, especificada por FIRST\$1PARTY ou THIRD\$1PARTY.

Veja a seguir um exemplo de um arquivo YAML de atualização de dependência e a configuração necessária para análise do Amazon Q:

```
name: dependency-upgrade
  
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
  
  
dependencyManagement:
  
  dependencies:
  
    - identifier: "com.example:library1"
  
      targetVersion: "2.1.0"
  
      versionProperty: "library1.version"  # Optional
  
      originType: "FIRST_PARTY"   
  
    - identifier: "com.example:library2"
  
      targetVersion: "3.0.0"
  
      originType: "THIRD_PARTY"
  
  plugins:
  
    - identifier: "com.example.plugin"
  
      targetVersion: "1.2.0"
  
      versionProperty: "plugin.version"  # Optional
            
      originType: "THIRD_PARTY"
```

## Etapa 4: configurar e autenticar-se
<a name="step-4-configure-auth"></a>

Antes de começar uma transformação, você deve se autenticar no Centro de Identidade do IAM e fornecer detalhes de configuração para a transformação. 

1. Para iniciar o processo de configuração da transformação, execute o seguinte comando:

   ```
   qct configure
   ```

1. Será necessário inserir um caminho do JDK para cada versão Java compatível. Você só precisará especificar o caminho para o JDK da versão de origem da sua aplicação Java, não da versão de destino.

1. Em seguida, para se autenticar no Centro de Identidade do IAM, você precisará inserir o URL inicial do seu perfil de assinatura do Amazon Q Developer Pro.

   Em seguida, insira o Região da AWS local em que você se inscreveu no seguinte formato:`us-east-1`. Para obter uma lista de regiões compatíveis, consulte [Regiões do compatíveis](regions.md). Para obter uma lista de códigos de região, consulte [Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) no *Guia Referência geral da AWS *. 

1. Suas preferências de configuração são salvas em um arquivo configuration.ini. 

## Etapa 5: executar uma transformação
<a name="step-5-run-transformation"></a>

Selecione o tipo de transformação que você está executando para ver a configuração e os comandos necessários. 

**nota**  
Não desligue nem feche sua máquina local durante a transformação do código porque a compilação do lado do cliente requer uma conexão de rede estável.

------
#### [ Java upgrade ]

**Modificar o plano de transformação**

Durante as atualizações da versão Java, o Amazon Q gera um plano de transformação que você pode revisar antes do início da transformação. Você tem a opção de solicitar as seguintes alterações no plano:
+ Quais bibliotecas o Amazon Q atualiza, com base na lista incluída no plano
  + Exemplos de prompts:
    + Atualize somente <dependency1>, <dependency2> e <dependency5>
    + Não atualize <dependency1> ou <dependency2>
+ A versão de destino para a qual atualizar uma biblioteca
  + Exemplos de prompts:
    + Atualize <dependency> para esta versão <version>
+ Quais etapas o Amazon Q deve executar
  + Exemplos de prompts:
    + Conclua somente as etapas 1 a 7
    + Não execute as etapas 5 a 9
+ Adicionar dependências adicionais para atualizar (somente uma opção ao atualizar para uma versão mais recente do JDK)
  + Exemplos de prompts:
    + Também atualize <dependency1> para <version2>

**Atualizar código Java**

1. Execute o comando a seguir para iniciar uma transformação para uma atualização do Java. Substitua `<path-to-folder>` pelo caminho para a pasta com o código que você está transformando e `<your-target-java-version>` por `JAVA_17` ou `JAVA_21`.

   ```
   qct transform --source_folder <path-to-folder>
       --target_version <your-target-java-version>
   ```

   Opções de comando adicionais: 
   + Se você estiver especificando dependências para atualizar, adicione a opção `--dependency_upgrade_file` com o caminho para o arquivo de atualização de dependência.
   + Se você não quiser revisar ou atualizar o plano de transformação, adicione o sinalizador `--no-interactive` ao comando. O Amazon Q não solicitará feedback sobre o plano e você não terá a oportunidade de solicitar alterações.

1. Sua versão do Maven é verificada antes do início da transformação. Se você tiver pelo menos a versão mínima compatível, a seguinte saída será exibida: 

   ```
   Running command: mvn --version at: path/to/current/directory 
   Your Maven version is supported for transformations.
   ```

   Se você não tiver uma versão compatível do Maven, você deverá atualizá-lo para continuar. Para obter mais informações, consulte o [Pré-requisitos](#CLI-transformation-prerequisites). 

1. Se o sinalizador `--no-interactive` não tiver sido adicionado, o Amazon Q solicitará que você dê feedback sobre o plano de transformação. Você pode explicar as alterações que deseja fazer em inglês natural, e o Amazon Q atualizará o plano se ele for compatível com as alterações solicitadas. 

1. O Amazon Q inicia a transformação. Ele exibirá atualizações de status durante toda a transformação. Após a conclusão, o Amazon Q fornecerá o caminho para onde os resultados da transformação, os logs e os arquivos de configuração serão enviados. 

   Seu código atualizado será confirmado para a nova ramificação criada pelo Amazon Q. O Amazon Q confirmará o código em uma ou várias confirmações, dependendo da seleção que você fez ao executar `qct configure`. 

1. Se estiver executando outra transformação após atualizar sua versão Java, inicie a segunda transformação na mesma ramificação em que você confirmou as alterações da primeira transformação. 

------
#### [ SQL conversion ]

Antes de começar, leia [Converter SQL incorporado em aplicações Java com o Amazon Q Developer](transform-sql.md) para entender os pré-requisitos para esse tipo de transformação. 

1. Para converter SQL incorporado, é necessário primeiro criar um arquivo YAML que contenha o caminho para o arquivo de metadados do esquema do [AWS DMS Schema Conversion](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html).

   O formato necessário do arquivo é o seguinte: 

   ```
   schema_conv_metadata_path: <path-to-metadata-zip-file>
   ```

1. Execute o comando a seguir para iniciar uma transformação para uma conversão SQL. Substitua `<path-to-folder>` pelo caminho para a pasta com o código que você está transformando e `<path-to-sql-config-file>` pelo caminho para o arquivo YAML que criou na etapa 1.

   ```
   qct transform --source_folder <path-to-folder>
       --sql_conversion_config_file <path-to-sql-config-file>
   ```

1. Se o Amazon Q encontrar vários esquemas em seu arquivo de metadados do esquema, ele interromperá a transformação e fornecerá uma lista dos esquemas detectados. Selecione qual esquema usar para a conversão de SQL e, em seguida, adicione um novo campo `schema: <schema-name>` ao arquivo YAML. 

1. O Amazon Q inicia a transformação. Ele exibirá atualizações de status durante toda a transformação. Após a conclusão, o Amazon Q fornecerá o caminho para onde os resultados da transformação, os logs e os arquivos de configuração serão enviados. 

   Seu código atualizado será confirmado para a nova ramificação criada pelo Amazon Q.

------

## Pausar ou cancelar uma transformação
<a name="pause-cancel-CLI-transformations"></a>

Você pode optar por pausar ou cancelar seu trabalho de transformação atual. É possível pausar um trabalho de transformação por até 12 horas antes de poder retomá-lo.

**Como pausar ou cancelar um trabalho de transformação de código**

1. No terminal da CLI, pressione **Ctrl\$1C** no teclado.

1. Selecione se você deseja pausar ou cancelar sua transformação.
   + Insira `1` se quiser pausar o trabalho de transformação de código. Você pode retomar o trabalho em até 12 horas para continuar a transformação de código usando o seguinte comando QCT: ``qct transform --source_folder=≤/Path/Given/Originally/To/QCT>``.
   + Insira `2` se quiser cancelar o trabalho de transformação de código.

# Solucionar problemas de transformações na linha de comando
<a name="troubleshooting-CLI-transformations"></a>

As informações a seguir podem ajudar você a solucionar problemas comuns ao transformar aplicações na linha de comandos com o Amazon Q Developer.

## Por que meu token de portador não está sendo atualizado?
<a name="bearer-token-refresh"></a>

Se você vir o erro a seguir, significará que precisa atualizar o token de portador usado para autenticação.

```
Refreshing bearer token
('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))
('Error getting bearer token due to: ', RuntimeError(('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))))
```

Para resolver esse erro, execute o seguinte comando:

```
rm ~/.aws/qcodetransform/credentials.json
```

Após remover o arquivo de credenciais desatualizado, execute `qct transform` novamente para reiniciar a transformação.

## Por que a versão mais recente da ferramenta de linha de comandos não está sendo usada?
<a name="install-latest-version"></a>

Quando você baixa uma nova versão da ferramenta de linha de comandos para transformações, às vezes uma versão anterior da ferramenta ainda é usada.

Para garantir que você esteja usando a versão mais recente da ferramenta, baixe a [versão mais recente](transform-CLI-versions.md). Em seguida, execute o seguinte comando com o caminho para onde você descompactou a ferramenta, com base na arquitetura da sua máquina:

------
#### [ Linux\$1aarch64 ]

```
pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------
#### [ Linux\$1x86\$164 ]

```
pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------

**nota**  
Se estiver usando uma versão mais antiga da ferramenta de linha de comandos para transformações, substitua `1.2.2` pela [versão](transform-CLI-versions.md) que você baixou.

# Histórico de versões da ferramenta de transformação de linha de comandos do Amazon Q Developer
<a name="transform-CLI-versions"></a>

Revise as informações a seguir para obter detalhes sobre as versões atuais e anteriores da ferramenta de transformação da linha de comandos do Amazon Q Developer. A tabela inclui o link para download, a data de lançamento e as notas de lançamento de cada versão. 


****  

| Versão | Data de lançamento | Notas da versão | 
| --- | --- | --- | 
|   [1.2.2 (mais recente)](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip)   | 26 de fevereiro de 2026 | Foi adicionado um banner promocional para o AWS Transform personalizado na CLI do QCT. Exibição de banner na execução do comando de transformação e texto de ajuda. Novo sinalizador --skip-banner para suprimir a saída do banner. | 
|   [1.2.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.1.zip)   | 9 de setembro de 2025 | Extensão Maven atualizada para incluir pais primários POMs durante o upload inicial do projeto | 
|   [1.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.0.zip)   | 7 de agosto de 2025 | Suporte adicionado para visualização do histórico de trabalhos e visualização da estrutura do módulo para projetos Java do Maven. | 
|   [1.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.1.0.zip)   | 21 de julho de 2025 | Inclui suporte para coleta de telemetria sobre transformações. | 
|   [1.0.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.0.0.zip)   | 27 de junho de 2025 | A ferramenta de transformação da linha de comando está disponível ao público em geral e oferece suporte à autenticação por meio AWS do IAM Identity Center somente com uma assinatura do Amazon Q Developer Pro. Suporte adicionado para assinaturas na região da Europa (Frankfurt). | 
|   [0.6.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.6.0.zip)   | 6 de junho de 2025 | Inclui suporte para fornecer um arquivo de atualização de dependência e iterar o plano de transformação. | 
|   [0.5.2](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.2.zip)   | 16 de abril de 2025 | Correções de bugs para resolver problemas ao retomar trabalhos e falhas em aplicações com dependências primárias. | 
|   [0.5.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.1.zip)   | 13 de março de 2025 | Ao se autenticar com o IAM, você não precisará mais fornecer uma Região da AWS. Também inclui correção de bugs para incluir o status do trabalho nos logs de saída.  | 
|   [0.5.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.0.zip)   | 28 de fevereiro de 2025 | Inclui suporte para autenticação com o IAM por meio do AWS CLI. | 
|   [0.4.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.1.zip)   | 17 de fevereiro de 2025 | Correção de bug para incluir suporte para entrar no Região da AWS local em que sua assinatura do Amazon Q Developer está configurada. | 
|   [0.4.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.0.zip)   | 14 de fevereiro de 2025 | Inclui suporte para atualizar aplicações Java para Java 21. | 
|   [0.3.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.3.0.zip)   | 12 de fevereiro de 2025 | Inclui suporte para converter SQL incorporado em aplicações Java. | 
|   [0.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.2.0.zip)   | 3 de fevereiro de 2025 | Inclui suporte para receber código Java atualizado em várias confirmações. | 
|  [0.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.1.0.zip)  | 27 de novembro de 2024 | Versão inicial. Inclui suporte para atualizar versões de código Java com base na linha de comando. | 

# Visualizar o histórico de trabalhos de transformação
<a name="transformation-job-history"></a>

O Amazon Q fornece uma visão geral abrangente do histórico de trabalhos de transformação Java, permitindo que você acompanhe e revise seus trabalhos de transformação nos IDEs e na linha de comando.

O histórico de trabalhos de transformação inclui as seguintes informações sobre um trabalho:
+ **Data**: quando o trabalho de transformação foi executado
+ **Nome do projeto**: o nome do projeto transformado
+ **Status**: o status atual do trabalho de transformação
+ **Duração**: quanto tempo a transformação levou para ser concluída
+ **ID do trabalho**: um identificador exclusivo do trabalho de transformação
+ **Patch de diferenças**: um link ou caminho para o arquivo final do patch de diferenças mostrando todas as alterações no código
+ **Resumo**: um link ou caminho para o arquivo de resumo da transformação com detalhes sobre as alterações feitas

**nota**  
Somente as transformações executadas desde o lançamento desse recurso estarão disponíveis no histórico de trabalhos. Para saber a data de lançamento do recurso, consulte [Histórico do documento para o Amazon Q Developer User Guide](doc-history.md). 

## Visualizar o histórico de trabalhos em IDEs
<a name="ide-job-history"></a>

**nota**  
Atualmente, esse recurso está disponível somente no Visual Studio Code.

O Hub de transformação no Visual Studio Code fornece uma visão abrangente do histórico de trabalhos de transformação Java. 

Uma tabela no Hub de transformação lista seus 10 trabalhos de transformação mais recentes dos últimos 30 dias. Na tabela, você pode acessar artefatos de transformação e atualizar trabalhos para monitorar o progresso e obter artefatos ausentes.

### Recuperar artefatos de transformação
<a name="retrieve-artifacts"></a>

Você pode acessar artefatos de transformação, como os patches de diferenças e os arquivos de resumo, na tabela do histórico de trabalhos. Selecione os links apropriados para abrir a diferença ou o resumo em seu IDE.

Os artefatos são armazenados localmente no diretório `.aws/transform`, para que você também possa acessar artefatos de transformação baixados anteriormente de trabalhos anteriores.

### Atualizar status do trabalho
<a name="refresh-jobs"></a>

Você pode atualizar o status do trabalho na tabela de histórico do trabalho. Atualize um trabalho com falha para obter um status atualizado do lado do servidor que talvez não tenha chegado ao seu servidor ainda, como quando o Amazon Q consegue retomar um trabalho com falha. Você também pode atualizar trabalhos concluídos para baixar artefatos que talvez não tenham aparecido ainda. 

### Como o histórico de trabalhos é armazenado para trabalhos executados no IDE
<a name="ide-history-storage"></a>

No Visual Studio Code, todas as informações e artefatos do trabalho de transformação são armazenados localmente no diretório `.aws/transform`. O armazenamento é organizado da seguinte forma:

```
.aws/transform/
├── [project-name-1]/
│   ├── [job-id-1]/
│   │   ├── diff.patch
│   │   ├── [summary-1]/
│   │   │   └── summary.md
│   │   │   └── buildCommandOutput.log
│   └── [job-id-2]/
│       ├── diff.patch
│       ├── [summary-2]/
│       │   └── summary.md
│       │   └── buildCommandOutput.log
└── [project-name-2]/
    └── [job-id-3]/
        ├── diff.patch
        ├── [summary-3]/
        │   └── summary.md
        │   └── buildCommandOutput.log
```

## Visualizar o histórico de trabalhos na linha de comando
<a name="cli-job-history"></a>

Para transformações na linha de comando, o comando **qct history** fornece acesso ao histórico de trabalhos de transformação com opções de personalização.

Na CLI, as informações do histórico de trabalhos de transformação são armazenadas localmente no diretório `.aws/qcodetransform/history/`.

### Usar o comando qct history
<a name="cli-history-command"></a>

O comando básico para visualizar o histórico de trabalhos de transformação é:

```
qct history
```

Por padrão, esse comando exibe os 10 trabalhos de transformação mais recentes, além de todos os trabalhos pausados ou em andamento.

Você também pode especificar quantas entradas do histórico de trabalhos serão exibidas com o sinalizador **--limit**. Por exemplo, para mostrar 20 trabalhos, execute:

```
qct history --limit 20
```

# Solucionar problemas com transformações Java
<a name="troubleshooting-code-transformation"></a>

As informações a seguir podem ajudar a solucionar problemas comuns ao transformar aplicações Java com o Amazon Q Developer.

**Topics**
+ [Por que o Amazon Q não consegue fazer o upload do meu projeto?](#project-upload-fail)
+ [Por que meus Maven comandos estão falhando?](#maven-commands-failing)
+ [Como faço para adicionar o Maven ao meu `PATH`?](#add-maven-to-path)
+ [Por que o Amazon Q não consegue criar meu código?](#build-fail)
+ [Por que minha transformação falhou após 55 minutos?](#build-time-limit)
+ [Por que não consigo baixar meu código transformado?](#download-code-fail)
+ [Como faço para acessar os logs de transformação de código?](#logs)
+ [Como faço para encontrar o ID do trabalho de transformação?](#job-id)

## Por que o Amazon Q não consegue fazer o upload do meu projeto?
<a name="project-upload-fail"></a>

Se o upload do projeto falhar, é provável que seja por um dos problemas a seguir. Veja o tópico que corresponde ao erro que você vê no Amazon Q. 

**Topics**
+ [Reduzir o tamanho do projeto](#reduce-project-size)
+ [Defina as configurações de proxy no IDE](#configure-proxy)
+ [Permitir acesso ao Amazon S3](#allowlist-s3-bucket)

### Reduzir o tamanho do projeto
<a name="reduce-project-size"></a>

Para transformar seu código, o Amazon Q gera um artefato de projeto, que inclui seu código-fonte, dependências do projeto e logs de construção. O tamanho máximo do artefato do projeto para uma tarefa de transformação é de 2 GB. Se você receber um erro relacionado ao tamanho do artefato do projeto, deverá diminuir o tamanho do seu projeto ou tentar transformar um projeto menor. Você pode visualizar o tamanho do arquivo de artefato do seu projeto nos logs de transformação de código. Para obter mais informações, consulte [Como faço para acessar os logs de transformação de código?](#logs).

### Defina as configurações de proxy no IDE
<a name="configure-proxy"></a>

Para transformar seu código, o Amazon Q carrega o artefato do seu projeto em um bucket Amazon S3 de propriedade do serviço. Parte do processo de upload envolve o uso de certificados SSL ou TLS para estabelecer comunicação entre o Amazon S3 e seu IDE. Se você estiver usando um servidor proxy, os certificados SSL ou TLS usados pelo seu servidor proxy devem ser confiáveis, caso contrário, a Amazon Q não poderá carregar seu projeto. 

Se você receber um erro relacionado ao seu proxy ou certificados, provavelmente precisará configurar seu IDE ou sistema operacional para confiar em seus certificados ou atualizar outras configurações de proxy.

**nota**  
Você também pode encontrar problemas não relacionados aos certificados se estiver protegido pelo servidor proxy ou firewall da sua organização. Se você concluir os procedimentos a seguir para configurar seus certificados e ainda tiver problemas, entre em contato com o administrador da rede para garantir que você tenha permissão para se comunicar com o Amazon S3 a partir do seu IDE. Para obter mais informações, consulte [Permitir acesso ao Amazon S3](#allowlist-s3-bucket). 

#### Configurar certificados em JetBrains
<a name="configure-proxy-JB"></a>

Para configurar seu JetBrains IDE Java Runtime Environment (JRE) para confiar nos certificados SSL ou TLS usados pelo seu servidor proxy, você deve importar os certificados SSL ou TLS para o `cacerts` arquivo no JRE. O `cacerts` arquivo contém certificados raiz confiáveis para conexões seguras, como HTTPS e SSL, e faz parte das configurações de segurança do JRE. Para importar um certificado, realize o procedimento a seguir. 

**nota**  
Recomendamos fazer um backup do `cacerts` arquivo antes de modificá-lo, pois qualquer erro pode causar problemas com conexões seguras.

1. Determine o caminho para o `cacerts` arquivo no seu JRE. O caminho do `cacerts` arquivo no JRE interno fornecido com seu JetBrains IDE depende do sistema operacional e da versão do JetBrains IDE que você está usando. 

   Veja a seguir exemplos de caminhos para o `cacerts` arquivo em sistemas operacionais comuns. Escolha seu sistema operacional para ver exemplos.
**nota**  
 `<JetBrains Installation Folder>` refere-se ao diretório em que os produtos JetBrains são instalados. Esse diretório geralmente é escolhido durante o processo de instalação.  
A `jbr` pasta representa o JRE incluído JetBrains IDEs, que é uma versão específica do JRE personalizada para uso com. JetBrains IDEs

------
#### [ Windows ]

   O caminho `cacerts` do arquivo para um JetBrains IDE instalado no Windows é:

   ```
   <JetBrains Installation Folder>\jbr\bin\cacerts
   ```

   Por exemplo, se você instalou um JetBrains IDE no Windows no local padrão, o caminho pode ser:

   ```
   C:\Program Files\JetBrains\jbr\bin\cacerts
   ```

------
#### [ macOS ]

   O caminho `cacerts` do arquivo para um JetBrains IDE instalado no macOS é:

   ```
   /Applications/JetBrains Toolbox/<version>/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts
   ```

   Por exemplo, se você instalou um JetBrains IDE no macOS no local padrão, o caminho pode ser:

   ```
   /Applications/JetBrains Toolbox/2022.3.4/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts
   ```

------
#### [ Linux ]

   O caminho `cacerts` do arquivo para um JetBrains IDE instalado no Linux é:

   ```
   /opt/jetbrains/jbr/lib/security/cacerts
   ```

------

1. Determine o certificado que você precisa importar para o `cacerts` arquivo. O arquivo de certificado geralmente tem uma extensão de arquivo `.cer`, `.crt` ou `.der`. Se você não tiver certeza de quais certificados precisa adicionar, entre em contato com o administrador da rede.

1. Importe o certificado assinado para o `cacerts` keystore. Isto pode ser feito com o Comando `keytool` do Java. 

   1. Abra um prompt de comando e execute o comando a seguir:

      ```
      keytool -import -alias <alias> -file <certificate_file> -keystore <path_to_cacerts>
      ```

   1. Para `<alias>`, você pode adicionar um nome para o certificado que está importando para consultá-lo posteriormente. Esta opção é opcional.

   1. Para `<certificate_file>`, especifique o caminho para o certificado que você está importando. Esse deve ser um caminho para os arquivos `.cer`, `.crt` ou `.der` contendo o certificado.

   1. Para `<path_to_cacerts>`, especifique o caminho para o arquivo `cacerts` keystore que você salvou na etapa 1. Esse é o arquivo para o qual você está importando o certificado. 

   Por exemplo, se você quiser importar um certificado nomeado `my_certificate.cer` para o `cacerts` repositório de chaves do JRE empacotado IntelliJ IDEA no Windows e quiser dar o alias `myalias` ao certificado, o comando pode ser:

   ```
   keytool -import -alias myalias -file my_certificate.cer -keystore "C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.2\jbr\bin\cacerts"
   ```

1. Durante o processo de importação, você será solicitado a inserir a senha do keystore. A senha padrão para o `cacerts` keystore é`changeit`. 

1. Depois de executar o comando, você deverá confiar no certificado. Para confirmar se o certificado é confiável e concluir a importação, insira `yes`.

1. Talvez você também precise adicionar os certificados ao próprio IDE, além do JRE. Para obter mais informações, consulte [Certificados de servidor](https://www.jetbrains.com/help/idea/settings-tools-server-certificates.html), na documentação do JetBrains.

#### Configurar certificados em Visual Studio Code
<a name="configure-proxy-VSC"></a>

Para configurar Visual Studio Code para confiar nos certificados SSL ou TLS usados pelo seu servidor proxy, certifique-se de ter definido as seguintes configurações de proxy para seu sistema operacional.

##### Configurar certificados Visual Studio Code no macOS
<a name="certs-mac"></a>

Defina as seguintes configurações de proxy para Visual Studio Code macOS.

##### Adicione certificados ao seu chaveiro do macOS
<a name="w2aac11c16c17c13c23b7b9c11b5b1b5"></a>

Se ainda não o fez, você deve adicionar os certificados usados pelo seu servidor proxy ao seu macOS chaveiro. Para obter informações sobre como adicionar certificados ao seu chaveiro, consulte [Adicionar certificados a um chaveiro usando o Keychain Access no Mac no Guia](https://support.apple.com/guide/keychain-access/add-certificates-to-a-keychain-kyca2431/mac) do usuário do Keychain Access.

##### Instale a VSCode extensão Mac CA
<a name="w2aac11c16c17c13c23b7b9c11b5b1b7"></a>

A [ VSCode extensão Mac CA](https://marketplace.visualstudio.com/items?itemName=linhmtran168.mac-ca-vscode) permite que o Amazon Q acesse os certificados que você adicionou ao Keychain Access no seu Mac. 

Como instalar a extensão:

1. Pesquise `mac-ca-vscode` no painel VS Code de extensões e escolha **Instalar**. 

1. Reinicie o VS Code.

##### Atualize as configurações de proxy VS Code no macOS
<a name="w2aac11c16c17c13c23b7b9c11b5b1b9"></a>

Atualize as configurações a seguir para garantir que VS Code estejam configuradas corretamente para seu proxy. 

1. Abra as configurações no VS Code.

1. Insira `proxy` na barra de pesquisa.

1. No campo **Http: Proxy**, adicione sua URL de proxy.

1. Desmarque **Http: Proxy Strict SSL**.

1. Na lista suspensa **Http: Proxy Support**, escolha **Ativar**.

1. Na barra de pesquisa, insira `http.experimental.systemCertificatesV2`. Selecione **Http › Experimental: Certificados do sistema V2**. 

##### Configurar certificados Visual Studio Code no Windows
<a name="certs-windows"></a>

Defina as seguintes configurações de proxy para Visual Studio Code Windows.

##### Adicionar certificado como certificado raiz confiável no Windows
<a name="w2aac11c16c17c13c23b7b9c11b5b3b5"></a>

Se ainda não o fez, você deve adicionar os certificados usados pelo seu servidor proxy à sua loja de Autoridades de Certificação Raiz Confiáveis no Windows. Para adicionar um certificado, realize o procedimento a seguir: 

1. Abra a ferramenta de pesquisa ou uma janela de comando Executar. 

1. Digite o seguinte comando para abrir a ferramenta CA:

   ```
   certmgr.msc
   ```

1. Escolha a loja **Autoridades de Certificação Raiz Confiáveis**.

1. Clique com o botão direito do mouse em **Certificados** e escolha **Todas as tarefas**, **Importar**.

1. Siga as instruções fornecidas para importar seu certificado de proxy.

1. Depois de importar seu certificado, confirme se o certificado foi adicionado. 

   Na loja **Autoridades de certificação raiz confiáveis**, clique duas vezes em **Certificados**. Clique com o botão direito do mouse no certificado que você adicionou e escolha **Propriedades**. Em **Objetivos do certificado**, a opção **Habilitar todas as finalidades para este certificado** deve ser selecionada.

##### Instale a extensão Win-CA VSCode
<a name="w2aac11c16c17c13c23b7b9c11b5b3b7"></a>

A [ VSCode extensão Win-CA](https://marketplace.visualstudio.com/items?itemName=ukoloff.win-ca) permite que a Amazon Q acesse os certificados que você adicionou aos certificados raiz confiáveis no Windows. 

Como instalar a extensão:

1. Pesquise `win-ca ` no painel VS Code de configurações.

1. Na lista suspensa **Injetar**, escolha **acrescentar**.

##### Atualize as configurações de proxy VS Code no Windows
<a name="w2aac11c16c17c13c23b7b9c11b5b3b9"></a>

Atualize as configurações a seguir para garantir que VS Code estejam configuradas corretamente para seu proxy. 

1. Abra as configurações no VS Code.

1. Insira `proxy` na barra de pesquisa.

1. No campo **Http: Proxy**, adicione sua URL de proxy.

1. Desmarque **Http: Proxy Strict SSL**.

1. Na lista suspensa **Http: Proxy Support**, escolha **Ativar**.

1. Na barra de pesquisa, insira `http.experimental.systemCertificatesV2`. Selecione **Http › Experimental: Certificados do sistema V2**. 

1. Reinicie o VS Code.

### Permitir acesso ao Amazon S3
<a name="allowlist-s3-bucket"></a>

Durante uma transformação, o Amazon Q carrega seu código para um bucket do Amazon S3 de propriedade do serviço. Se sua rede ou organização não tiver configurado o acesso ao Amazon S3, o Amazon Q não poderá carregar seu projeto. 

Para garantir que o Amazon Q possa carregar seu projeto, certifique-se de que sua configuração de proxy e outros componentes de rede, como políticas de prevenção de perda de dados (DLP), estejam configurados para permitir o acesso ao Amazon S3. Talvez também seja necessário incluir na lista de permissões o bucket do Amazon S3 onde o Amazon Q faz upload o projeto. Para obter mais informações, consulte [Bucket do Amazon S3 URLs e para a lista de permissões ARNs](firewall.md#data-perimeters). 

Se você transformar um projeto grande, as políticas de DLP ou outros componentes de rede podem causar atrasos e impedir um upload bem-sucedido se não estiverem configurados para permitir o bucket do Amazon S3. Se você optar por não colocar o bucket na lista de permissões, talvez seja necessário transformar um projeto menor para que o Amazon Q possa carregá-lo.

## Por que meus Maven comandos estão falhando?
<a name="maven-commands-failing"></a>

A seguir estão os problemas de Maven configuração que você pode ver no JetBrains Visual Studio Code IDEs e. Se você tratar os problemas e ainda encontrar Maven erros, pode haver um problema com o projeto. Use as informações nos logs de erros para resolver quaisquer problemas com seu projeto e tente transformá-lo novamente. 

### Atualizar configuração Maven no JetBrains
<a name="jetbrains"></a>

Se uma transformação falhar no JetBrains devido a problemas de comando do Maven, os logs de erros aparecerão na guia **Executar**. Use as informações nos logs para tratar o problema. A seguir estão alguns problemas que talvez você precise resolver: 
+ Certifique-se de que seu caminho Maven inicial esteja definido como **Agrupado**. Na caixa de diálogo **Configurações**, expanda a seção **Construção, Execução, Implantação**. Expanda a seção **Ferramentas de construção** e, em seguida, expanda o **Maven**. Na lista suspensa do **caminho inicial do Maven**, escolha **Empacotado**. 
+ Certifique-se de que o ambiente Java de tempo de execução (JRE) esteja usando o JDK do seu projeto. Na caixa de diálogo **Configurações**, expanda a seção **Construção, Execução, Implantação**. Expanda o **Maven** e escolha **Runner**. Na lista suspensa do **JRE**, escolha **Usar Projeto JDK**. 
+ Certifique-se de que o Maven esteja habilitado. Vá para **Configurações** e escolha **Plugins**. Pesquise Maven e escolha o Maven plugin. Caso veja um botão **Ativar**, escolha-o para ativar Maven. 

### Atualizar configuração Maven no Visual Studio Code
<a name="vscode"></a>

Se uma transformação falhar no VS Code devido a problemas de comando do Maven, um arquivo de texto que contém os logs de erros será aberto em uma nova guia. Use as informações nos logs para tratar o problema.

Certifique-se de que você configurou uma das opções a seguir: 
+ Seu projeto contém um Maven invólucro na pasta raiz do projeto
+ Uma versão do Maven compatível com o Amazon Q está disponível em seu `PATH`

Para obter mais informações, consulte [Como faço para adicionar o Maven ao meu `PATH`?](#add-maven-to-path). 

## Como faço para adicionar o Maven ao meu `PATH`?
<a name="add-maven-to-path"></a>

Para transformar seu código VS Code sem usar um Maven wrapper, você deve instalá-lo Maven e adicioná-lo à sua `PATH` variável. 

Para verificar se você já Maven instalou corretamente, execute `mvn -v` em um novo terminal de sistema operacional fora do Visual Studio Code. Você deve ver uma saída com sua Maven versão.

Se você receber uma saída no seu terminal Visual Studio Code, mas não no terminal do sistema operacional, ou se o comando não for encontrado, você precisará adicionar Maven ao seu `PATH`.

 Para adicionar Maven ao seu `PATH`, siga as instruções da sua máquina.

------
#### [ macOS ]

Para adicionar Maven ao seu macOS `PATH`, conclua as etapas a seguir.

1. Localize seu diretório de Maven instalação ou a pasta em que você Maven instalou e salve o caminho para essa pasta.

1. Abra o arquivo de configuração do shell com seu editor de preferência. Para versões recentes do macOS, o shell padrão é `zsh` e o arquivo de configuração padrão está localizado em `~/.zshrc`. 

   Adicione a seguinte linha ao arquivo de configuração. Defina o valor do `M2_HOME` caminho que você salvou na etapa 1:

   ```
   export M2_HOME="your Maven installation directory"
   export PATH="${M2_HOME}/bin:${PATH}"
   ```

   Esses comandos tornam o `mvn` comando disponível em todos os terminais.

1. Feche todas as janelas do terminal do sistema operacional e saia de todas as Visual Studio Code instâncias.

1. Para verificar se Maven foi adicionado ao seu `PATH`, abra um novo terminal do sistema operacional e execute o seguinte comando:

   ```
   mvn -v
   ```

   Você deve ver uma saída com sua Maven versão.

1. Depois de ver sua Maven saída, reinicie o Visual Studio Code. Talvez também seja necessário reiniciar o computador. Abra um novo terminal do Visual Studio Code e execute o seguinte comando: 

   ```
   mvn -v
   ```

   A saída deve ser idêntica à saída na etapa 4. Se a Visual Studio Code saída for diferente, tente o seguinte para verificar se a configuração está correta:
   + Verifique sua variável `PATH` em Visual Studio Code. Uma extensão do IDE pode estar alterando o de `PATH` forma que seja diferente da sua `PATH` variável local. Desinstale a extensão para removê-la do seu `PATH`.
   + Verifique seu shell padrão em Visual Studio Code. Se estiver configurado para algo diferente de `zsh`, repita essas etapas para seu shell.

------
#### [ Windows ]

Para adicionar Maven ao Windows `PATH`, conclua as etapas a seguir: 

1. Localize seu diretório de Maven instalação ou a pasta em que você Maven instalou e salve o caminho para essa pasta.

1. Abra a janela Variáveis de ambiente:

   1. Escolha o Windows botão para abrir a barra de pesquisa.

   1. Insira `Edit environment variables for your account` e o selecione.

1. Na janela **Variáveis de ambiente**, procure a variável Path. Se você já tiver uma variável Path, escolha **Editar...** para atualizá-lo. Se você não vê uma variável Path, escolha **Novo...** para adicionar um. 

1. Na janela **Editar variável de ambiente** exibida, clique duas vezes no caminho existente para editá-lo ou escolha **Novo** para adicionar uma nova entrada de caminho.

   Substitua a entrada do Maven caminho existente pelo caminho que você salvou na etapa 1 ou adicione o caminho como uma nova entrada. No final do caminho, adicione `\bin` como sufixo, como no exemplo a seguir:

   ```
   C:\Users\yourusername\Downloads\apache-maven-3.9.6-bin\apache-maven-3.9.6\bin
   ```

1. Escolha **OK** para salvar a entrada do caminho e, em seguida, escolha **OK** novamente na janela **Variáveis de ambiente**.

1. Abra um novo prompt de comando e execute o comando a seguir:

   ```
   mvn -v
   ```

   Você deve ver uma saída com sua Maven versão.

------

## Por que o Amazon Q não consegue criar meu código?
<a name="build-fail"></a>

Se a transformação falhar quando o Amazon Q estiver criando seu código, seu projeto pode não estar configurado adequadamente para o ambiente em que o Amazon Q cria seu código. Talvez seja necessário atualizar a configuração de compilação ou a implementação do código.

Analise a saída do log de compilação que o Amazon Q fornece para determinar se há alterações que você pode fazer no seu projeto. A seguir estão alguns problemas comuns que podem impedir o Amazon Q de criar seu código. 

### Remova caminhos absolutos em pom.xml
<a name="remove-absolute-path"></a>

Se você tiver um caminho absoluto em seu arquivo pom.xml, a Amazon Q não conseguirá encontrar os arquivos relevantes e, como resultado, talvez não consiga criar seu código.

A seguir está um exemplo de um caminho absoluto que você poderia ter em seu `pom.xml` arquivo:

```
<toolspath>
    <path>/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/tools.jar</path>
</toolspath>
```

Em vez de usar um caminho absoluto, você pode criar um caminho relativo usando um ponteiro. Veja a seguir um exemplo de como você pode substituir o caminho absoluto anterior por um caminho relativo:

```
<toolspath>
    <path>${java.home}/../lib/tools.jar</path>
</toolspath>
```

### Remova bancos de dados locais ou externos em testes de unidade
<a name="remove-external-databases"></a>

O Amazon Q executa qualquer teste de unidade em seu projeto ao criar seu código. Se um teste unitário chamar um banco de dados local ou externo, o Amazon Q não terá acesso ao banco de dados, fazendo com que a compilação falhe. Para evitar que a compilação falhe, você deve remover a chamada do banco de dados do teste de unidade ou remover o teste de unidade antes de enviar a transformação. 

## Por que minha transformação falhou após 55 minutos?
<a name="build-time-limit"></a>

Se seu trabalho de transformação de código falhar após 55 minutos, o tempo de criação do código provavelmente excederá o limite de tempo de compilação. Atualmente, há um limite de tempo de 55 minutos para criar seu código. 

Se o tempo de compilação local demorar 55 minutos ou mais, reduza o tempo de compilação do seu projeto para transformar seu código. Se sua compilação local for mais rápida do que a compilação com a transformação de código, verifique se há tarefas que possam estar falhando ou demorando mais em um ambiente diferente. Considere desativar casos de teste de longa duração. Considere também usar tempos limite para tentativas de acessar recursos que podem não estar disponíveis no ambiente de IDE seguro ou na Internet. 

## Por que não consigo baixar meu código transformado?
<a name="download-code-fail"></a>

Se você não conseguir baixar o código após a conclusão da transformação, é provável que seja por um dos problemas a seguir. Veja o tópico que corresponde ao erro que você vê no Amazon Q. 

**Topics**
+ [Reduzir o tamanho do projeto](#reduce-project-size-output)
+ [Download de diferença de código em 30 dias](#download-30-hrs)
+ [Defina as configurações de proxy no IDE](#configure-proxy-download)
+ [Remover caracteres curinga nas configurações de JetBrains proxy](#remove-wildcard)

### Reduzir o tamanho do projeto
<a name="reduce-project-size-output"></a>

Depois que a transformação for concluída, o Amazon Q gera um artefato de saída que contém uma diferença com seu código atualizado e um resumo da transformação com informações sobre as alterações feitas. O artefato de saída deve ter 1 GB ou menos para que o IDE possa baixá-lo. 

Se o artefato de saída exceder o limite, não será possível baixar o código atualizado ou o resumo da transformação. Tente transformar um projeto menor para evitar um grande artefato de saída. Se o problema persistir, entre em contato com Suporte. Para obter informações sobre como entrar em contato Suporte com a Amazon Q, consulte[Usar o Amazon Q Developer para conversar com Suporte](support-chat.md).

### Download de diferença de código em 30 dias
<a name="download-30-hrs"></a>

O arquivo de comparação de código com seu código atualizado só estará disponível por 30 dias após a conclusão da transformação. Se já se passaram mais de 30 dias desde a conclusão da transformação, reinicie-a para baixar o arquivo de comparação.

### Defina as configurações de proxy no IDE
<a name="configure-proxy-download"></a>

O Amazon Q faz o download do código atualizado de um bucket do Amazon S3 de propriedade do serviço. Parte do processo de download envolve o uso de certificados SSL ou TLS para estabelecer comunicação entre o Amazon S3 e seu IDE. Se você estiver usando um servidor proxy, os certificados SSL ou TLS usados pelo seu servidor proxy devem ser confiáveis, caso contrário, a Amazon Q não poderá carregar seu projeto.

Para baixar seu código, talvez seja necessário configurar seu IDE para confiar em certificados ou atualizar outras configurações de proxy. Para obter mais informações sobre como atualizar as configurações de proxy, consulte [Defina as configurações de proxy no IDE](#configure-proxy).

### Remover caracteres curinga nas configurações de JetBrains proxy
<a name="remove-wildcard"></a>

Se você tiver definido as configurações de proxy em seu JetBrains IDE, talvez veja o seguinte erro ao baixar seu código atualizado: 

```
software.amazon.awssdk.core.exception.SdkClientException: 
Unable to execute HTTP request: Dangling meta character '*' near index 0
```

Isso provavelmente é causado pela presença de um caractere curinga (\$1) no campo **Sem proxy para** das configurações de proxy do seu IDE. O SDK do Java usado pelo Amazon Q não é compatível com entradas curinga nesse campo. 

Para baixar seu código, remova todos os curingas do campo **Sem proxy para** e reinicie seu IDE. Se você precisar especificar hosts que devem ignorar o proxy, use uma expressão regular em vez de um caractere curinga. Para atualizar as configurações de proxy em seu JetBrains IDE, consulte [Proxy HTTP](https://www.jetbrains.com/help/idea/settings-http-proxy.html) na JetBrains documentação.

## Como faço para acessar os logs de transformação de código?
<a name="logs"></a>

### Logs de acesso ao JetBrains
<a name="jetbrains-logs"></a>

Para obter informações sobre como acessar arquivos de log do JetBrains, consulte [Localização de arquivos de log IDE](https://intellij-support.jetbrains.com/hc/en-us/articles/207241085-Locating-IDE-log-files) na documentação do JetBrains. 

Para encontrar os logs emitidos pelo Amazon Q no JetBrains, pesquise nos logs do IDE a seguinte string:

```
software.aws.toolkits.jetbrains.services.codemodernizer
```

Os logs de transformação de código começam com a string anterior. Os logs gerados pelo Maven são exibidos na guia **Executar** e têm a sequência de caracteres anterior antes e depois da entrada do log. 

### Logs de acesso ao Visual Studio Code
<a name="vsc-logs"></a>

Para encontrar logs emitidos pelo Amazon Q no VS Code, conclua as seguintes etapas:

1. Escolha **Exibir** na barra de navegação superior e, em seguida, escolha **Paleta de comandos**.

1. Pesquise `Amazon Q: View Logs` na paleta de comandos que aparece.

1. Os logs são abertos no IDE. Para pesquisar os arquivos de log `CodeTransformation`, use `CMD + F` ou `Control + F`. 

Os logs de transformação de código do VS Code têm `CodeTransformation:` como prefixo. Veja a seguir um exemplo de um log gerado no VS Code para um erro de dependências de cópia do Maven:

```
2024-02-12 11:29:16 [ERROR]: CodeTransformation: Error in running Maven copy-dependencies command mvn = /bin/sh: mvn: command not found
```

## Como faço para encontrar o ID do trabalho de transformação?
<a name="job-id"></a>

### Encontre seu ID de emprego em JetBrains
<a name="jetbrains"></a>

Para encontrar um ID de trabalho de transformação em JetBrains, vá até a guia **Detalhes** da **transformação no Transformation Hub** e escolha o ícone **Mostrar status do trabalho** (relógio). 

### Encontre seu ID de emprego em Visual Studio Code
<a name="vs-code"></a>

Para encontrar um ID de trabalho de transformação no VS Code, acesse o **Transformation Hub** e escolha o ícone **Mostrar status do trabalho** (relógio). 

# Transformar aplicações .NET com o Amazon Q Developer
<a name="transform-dotnet-IDE"></a>

O Amazon Q Developer pode portar suas aplicações .NET baseadas em Windows para aplicações .NET multiplataforma compatíveis com Linux por meio de um fluxo de trabalho de refatoração baseado em IA generativa. O Amazon Q também ajuda a atualizar versões desatualizadas de aplicações .NET multiplataforma para versões mais recentes. 

Para transformar uma solução ou projeto .NET, o Amazon Q analisa sua base de código, determina as atualizações necessárias para portar sua aplicação e gera um plano de transformação antes do início da transformação. Durante essa análise, o Amazon Q divide sua solução ou projeto .NET em grupos de códigos que você pode visualizar no plano de transformação. Um *grupo de códigos* é um projeto e todas as suas dependências que, juntos, geram uma unidade de código compilável, como uma biblioteca de links dinâmicos (DLL) ou um executável. 

Durante a transformação, o Amazon Q fornece step-by-step atualizações em um Transformation Hub, onde você pode monitorar o progresso. Após transformar sua aplicação, o Amazon Q gera um resumo com as alterações propostas em uma visualização de diferenças para que você, opcionalmente, verifique as alterações antes de aceitá-las. Quando você aceita as alterações, o Amazon Q faz atualizações locais em sua solução ou projeto .NET. 

O Amazon Q executa quatro tarefas principais para portar aplicações .NET para o Linux:
+ **Atualiza a versão da linguagem**: substitui versões desatualizadas do código C\$1 por versões C\$1 compatíveis com Linux.
+ **Migra do .NET Framework para o .NET multiplataforma**: migra projetos e pacotes do .NET Framework dependente do Windows para o .NET multiplataforma compatível com Linux.
+ **Reescreve o código para compatibilidade com o Linux**: refatora e reescreve componentes de código obsoletos e ineficientes.
+ **Gera um relatório de disponibilidade de compatibilidade com Linux**: para tarefas abertas em que a intervenção do usuário é necessária para compilar e executar o código no Linux, o Amazon Q fornece um relatório detalhado das ações necessárias para configurar a aplicação após a transformação.

Para obter mais informações sobre como o Amazon Q realiza transformações .NET, consulte [How it works](how-dotnet-transformation-works.md). 

**Topics**
+ [Cotas](#quotas-dotnet-transformation)
+ [Portar uma aplicação .NET com o Amazon Q Developer no Visual Studio](port-dotnet-application.md)
+ [Como o Amazon Q Developer transforma aplicações .NET](how-dotnet-transformation-works.md)
+ [Solucionar problemas com transformações .NET no IDE](troubleshooting-dotnet-transformation-IDE.md)

## Cotas
<a name="quotas-dotnet-transformation"></a>

As transformações .NET com o Amazon Q no IDE mantêm as seguintes cotas: 
+ **Linhas de código por trabalho**: o número máximo de linhas de código que o Amazon Q pode transformar em um determinado trabalho de transformação. Esse também é o limite total mensal para transformações .NET. 
+ **Trabalhos simultâneos**: o número máximo de trabalhos de transformação que podem ser executados ao mesmo tempo. Essa cota se aplica a todas as transformações no IDE, incluindo as [transformações Java](transform-java.md).


| Recurso | Cotas | 
| --- | --- | 
| Linhas de código por trabalho | 100.000 linhas de código | 
| Tarefas simultâneas |  1 trabalho por usuário 2 trabalhos por AWS conta  | 

# Portar uma aplicação .NET com o Amazon Q Developer no Visual Studio
<a name="port-dotnet-application"></a>

Conclua estas etapas para portar uma aplicação .NET baseada em Windows para uma aplicação .NET multiplataforma compatível com Linux com o Amazon Q Developer no Visual Studio. 

## Etapa 1: pré-requisitos
<a name="transform-dotnet-prerequisites"></a>

Antes de continuar, certifique-se de que você concluiu as etapas em [Configurar o Amazon Q no IDE](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE.html).

Verifique se os seguintes pré-requisitos para sua aplicação foram atendidos antes de iniciar um trabalho de transformação .NET:
+ Sua aplicação contém somente projetos .NET escritos em C\$1.
+ Seu aplicativo só tem dependências de pacotes de autoria da Microsoft NuGet 
+ Sua aplicação usa somente caracteres UTF-8. Se sua aplicação usar caracteres não UTF-8, o Amazon Q ainda tentará transformar seu código.
+ Se sua aplicação depender do Internet Information Services (IIS), somente as configurações padrão do IIS serão usadas.
+ O Amazon Q avaliará o tipo do projeto que você selecionou e suas dependências para criar um grupo de códigos. O grupo de códigos só pode ter os seguintes tipos de projeto:
  + Aplicação de console
  + Biblioteca de classes 
  + API Web
  + Serviço WCF
  + Camadas de lógica de negócios do controlador de visualização de modelo (MVC) e da aplicação de página única (SPA)
  + Projetos de teste

**nota**  
O Amazon Q não oferece suporte à transformação de componentes da camada de interface do usuário, como Razor visualizações ou arquivos WebForms ASPX. Se o Amazon Q detectar componentes da camada de interface do usuário em sua solução ou projeto, ele realizará uma transformação parcial, excluindo-os, e talvez você precise refatorar ainda mais para tornar seu código compilável na versão .NET de destino.

## Etapa 2: transformar sua aplicação
<a name="transform-dotnet-app"></a>

Para transformar sua solução ou projeto .NET, realize o seguinte procedimento:

1. Abra uma solução ou projeto baseado em C\$1 no Visual Studio que você deseja transformar. 

1. Abra qualquer arquivo de código C\$1 no editor. 

1. Selecione o **Gerenciador de Soluções**.

1. No Gerenciador de Soluções, clique com o botão direito do mouse em uma solução ou projeto que deseja transformar e, em seguida, selecione **Portar com o Amazon Q Developer**.

1. A janela **Portar com o Amazon Q Developer** é exibida. 

   A solução ou projeto que você selecionou será escolhido no menu suspenso **Escolher uma solução ou projeto para transformar**. Você pode expandir o menu para selecionar uma solução ou projeto diferente para transformar. 

   No menu suspenso **Escolher um destino .NET**, selecione a versão do .NET para a qual você deseja atualizar.

1. Clique em **Confirmar** para começar a transformação.

1. O Amazon Q começa a transformar o código. Você pode visualizar o plano de transformação gerado para obter detalhes sobre como ele transformará sua aplicação.

   Um **Hub de transformação** é aberto, onde você pode monitorar o progresso durante a transformação. Depois que o Amazon Q concluir a etapa de **inicialização da transformação de trabalhos em espera**, você poderá sair do projeto ou da solução durante a transformação.

1. Depois que a transformação for concluída, navegue até o **Hub de transformação** e selecione **Exibir diferenças** para revisar as alterações propostas do Amazon Q em uma visualização de diferenças. 

1. Selecione **Exibir resumo da transformação do código** para obter detalhes sobre as alterações feitas pelo Amazon Q. Você também pode baixar o resumo da transformação selecionando **Baixar resumo como .md.** 

   Se algum dos itens na tabela **Grupos de códigos** exigir entrada no status de portabilidade do Linux, você deverá atualizar manualmente alguns arquivos para executar sua aplicação no Linux. 

   1. No menu suspenso **Ações**, selecione **Baixar relatório de disponibilidade do Linux**. 

   1. Um arquivo .csv é aberto com todas as alterações em seu projeto ou solução que você deve concluir antes que sua aplicação seja compatível com Linux. Ele inclui o projeto e o arquivo que precisam ser atualizados, uma descrição do item a ser atualizado e uma explicação do problema. Use a coluna **Recomendação** para obter ideias sobre como resolver um problema de disponibilidade do Linux. 

1. Para atualizar seus arquivos no local, selecione **Aceitar alterações** no menu suspenso **Ações**. 

# Como o Amazon Q Developer transforma aplicações .NET
<a name="how-dotnet-transformation-works"></a>

Consulte as seções a seguir para obter detalhes sobre como a transformação .NET com o Amazon Q Developer funciona. 

## Analisar a aplicação e gerar um plano de transformação
<a name="analyzing-app-generating-plan"></a>

Antes do início de uma transformação, o Amazon Q compila o código localmente para garantir que ele possa ser compilado e configurado corretamente para transformação. Em seguida, o Amazon Q carrega seu código em um ambiente de compilação seguro e criptografado AWS, analisa sua base de código e determina as atualizações necessárias para portar seu aplicativo. 

Durante essa análise, o Amazon Q divide a solução ou projeto .NET em grupos de código. Um grupo de códigos é um projeto e todas as suas dependências que, juntos, geram uma unidade de código compilável, como uma biblioteca de links dinâmicos (DLL) ou um executável. Mesmo que você não tenha selecionado todas as dependências do projeto para serem transformadas, o Amazon Q determina as dependências necessárias para criar os projetos selecionados e as transforma também, para que a aplicação transformada possa ser compilada e esteja pronto para uso.

Após analisar o código, o Amazon Q gera um plano de transformação que descreve as alterações propostas que serão feitas, incluindo uma lista de grupos de código e suas dependências que serão transformadas. 

## Transformar a aplicação
<a name="transforming-app"></a>

Para iniciar a transformação, o Amazon Q compila o código novamente no ambiente de compilação seguro para garantir que ele possa ser compilado remotamente. Em seguida, o Amazon Q inicia a portabilidade da aplicação. O processo funciona de baixo para cima, começando com a dependência de nível mais baixo. Se o Amazon Q encontrar um problema ao portar uma dependência, ele interromperá a transformação e fornecerá informações sobre o que causou o erro. 

A transformação inclui as seguintes atualizações na aplicação: 
+ Substituição de versões desatualizadas do código C\$1 por versões C\$1 compatíveis com Linux
+ Atualização do .NET Framework para o .NET multiplataforma, incluindo: 
  + Identificação e substituição iterativa de pacotes, bibliotecas e APIs
  + Atualizando e substituindo NuGet pacotes e APIs
  + Transição para o runtime multiplataforma
  + Configuração do middleware e atualização das configurações de runtime
  + Substituição de pacotes privados ou de terceiros 
  + Manipulação de componentes do IIS e do WCF 
  + Depuração de erros de compilação
+ Reescrita de código para compatibilidade com Linux, incluindo refatoração e reescrita de código obsoleto e ineficiente para portar o código existente 

## Revisão do resumo da transformação e aceitação das alterações
<a name="reviewing-summary-accepting-changes"></a>

Após a conclusão da transformação, o Amazon Q fornece um resumo da transformação com informações sobre as atualizações propostas feitas em seu aplicativo, incluindo o número de arquivos alterados, pacotes atualizados e APIs alterados. Ele sinaliza qualquer transformação malsucedida, incluindo arquivos ou partes de arquivos afetados e os erros encontrados durante uma tentativa de compilação. Você também pode ver um resumo da compilação com logs de compilação para saber mais sobre quais alterações foram feitas. 

O resumo da transformação também fornece um status de portabilidade do Linux, que indica se a entrada adicional do usuário é necessária ou não para tornar a aplicação compatível com o Linux. Se algum dos itens em um grupo de códigos exigir uma entrada da sua parte, baixe um relatório de disponibilidade do Linux que contenha considerações específicas do Windows que o Amazon Q não conseguiu abordar no momento da compilação. Se a entrada for necessária para qualquer grupo de código ou arquivo, revise o relatório para obter detalhes sobre o tipo de alteração que ainda precisa ser feita e, se aplicável, para obter recomendações sobre como atualizar o código. Essas alterações devem ser feitas manualmente antes que a aplicação possa ser executada no Linux. 

Você pode revisar as alterações propostas feitas pelo Amazon Q em uma visualização de diferenças antes de aceitá-las como atualizações locais em seus arquivos. Após atualizar os arquivos e abordar todos os itens no relatório de disponibilidade do Linux, a aplicação estará pronta para ser executada no .NET multiplataforma.

# Solucionar problemas com transformações .NET no IDE
<a name="troubleshooting-dotnet-transformation-IDE"></a>

Use as seções a seguir para solucionar problemas comuns com transformações .NET no IDE com o Amazon Q Developer.

## Como posso saber se um trabalho está progredindo?
<a name="job-progressing"></a>

Se o Amazon Q parecer estar gastando muito tempo em uma etapa no Hub de transformação, você pode verificar se o trabalho continua ativo nos logs de saída. Se mensagens de diagnóstico estiverem sendo geradas, o trabalho ainda estará ativo. 

Para verificar as saídas, selecione a guia **Saída** no Visual Studio. No menu **Mostrar saída de:**, selecione **Amazon Q Language Client**.

A captura de tela a seguir mostra um exemplo das saídas que o Amazon Q gera durante uma transformação.

![\[Captura de tela do Amazon Q Developer Code Transformation Hub, mostrando a saída do Amazon Q Language Client.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/code-transform-troubleshoot4.png)


## Por que alguns projetos não são selecionados para transformação?
<a name="projects-not-selected"></a>

O Amazon Q só pode transformar tipos de projetos compatíveis na linguagem C\$1. Atualmente, o Amazon Q não é compatível com a portabilidade de componentes da camada de interface de usuário ou projetos escritos nas linguagens VB.NET ou F\$1. Para obter uma lista dos tipos de projetos compatíveis e outros pré-requisitos para transformar seus projetos .NET, consulte [Etapa 1: pré-requisitos](port-dotnet-application.md#transform-dotnet-prerequisites).

## Como posso obter suporte se meu projeto ou solução não estiver se transformando?
<a name="get-support"></a>

Se você não conseguir solucionar problemas sozinho, entre em contato com Conta da AWS nossa equipe Suporte para enviar um caso de suporte. 

Para obter suporte, forneça o ID do trabalho de transformação para que AWS possa investigar um trabalho com falha. Para encontrar um ID de trabalho de transformação, selecione a guia **Saída** no Visual Studio. No menu **Mostrar saída de:**, selecione **Amazon Q Language Client**.

## Como posso evitar que meu firewall interfira nos trabalhos de transformação?
<a name="firewall-inteference"></a>

Se sua organização usa um firewall, ele pode interferir nas transformações no Visual Studio. Você pode desabilitar temporariamente as verificações de segurança no Node.js para solucionar problemas ou testar o que está impedindo a execução da transformação. 

A variável de ambiente `NODE_TLS_REJECT_UNAUTHORIZED` controla verificações de segurança importantes. `NODE_TLS_REJECT_UNAUTHORIZED`Definir como “0" desativa a rejeição de certificados não TLS/SSL autorizados pelo Node.js. Isso significa que:
+ Certificados autoassinados serão aceitos
+ Certificados expirados serão permitidos
+ Certificados com nomes de host incompatíveis serão permitidos
+ Quaisquer outros erros de validação de certificado serão ignorados

Se seu proxy usa um autocertificado, você pode definir as seguintes variáveis de ambiente em vez de desabilitar `NODE_TLS_REJECT_UNAUTHORIZED`:

```
NODE_OPTIONS = —use-openssl-ca
NODE_EXTRA_CA_CERTS = Path/To/Corporate/Certs
```

Caso contrário, você deve especificar os certificados de CA usados pelo proxy para desabilitar `NODE_TLS_REJECT_UNAUTHORIZED`.

**Como desabilitar o NODE\$1TLS\$1REJECT\$1UNAUTHORIZED no Windows:**

1. Abra o menu Iniciar e pesquise **Variáveis de ambiente**.

1. Selecione **Editar as variáveis de ambiente do sistema**.

1. Na janela **Propriedades do sistema**, selecione **Variáveis de ambiente**.

1. Em **Variáveis do sistema**, selecione **Novo**.

1. Defina **Nome da variável** como NODE\$1TLS\$1REJECT\$1UNAUTHORIZED e **Valor da variável** como 0.

1. Clique em **Ok** para salvar as alterações.

1. Reinicie o Visual Studio.

# Explicar e atualizar código com o Amazon Q Developer
<a name="explain-update-code"></a>

O Amazon Q Developer pode explicar e atualizar linhas de código específicas no ambiente de desenvolvimento integrado (IDE). Para atualizar o código, solicite que o Amazon Q faça alterações em uma determinada linha ou bloco de código, que refletirá as alterações que você solicitou que ele fizesse. Em seguida, você poderá inserir o código atualizado diretamente no arquivo em que o código foi originado. 

Você pode escolher entre as seguintes opções:
+ **Explicar**: obtenha a explicação do código em linguagem natural.
+ **Refatorar**: melhore a leitura ou a eficiência do código, entre outras melhorias.
+ **Corrigir**: depure o código.
+ **Gerar testes**: crie testes de unidade para o arquivo atual ou código selecionado.
+ **Otimizar**: melhore a performance do código.
+ **Enviar para prompt**: envie o código destacado para o painel do Amazon Q chat e faça qualquer pergunta que deseje.

## Enviar código para o Amazon Q
<a name="send-code"></a>

Conclua essas etapas para que o código seja explicado ou atualizado pelo Amazon Q.

1. Destaque uma seção de um arquivo de código no IDE. 

1. Clique com o botão direito do mouse no código destacado para abrir uma janela de contexto. Escolha **Amazon Q** e, em seguida, escolha **Explicar**, **Refatorar**, **Corrigir**, **Gerar testes**, **Otimizar** ou **Enviar para prompt**.

   Se você escolher **Enviar para prompt**, o Amazon Q copiará o texto destacado para o painel de bate-papo, em que você poderá inserir qualquer pergunta sobre o código.

1. Para substituir o código destacado pelo código recém-gerado, você pode copiá-lo ou inseri-lo diretamente no arquivo escolhendo **Inserir código**. O Amazon Q substitui o código original pelo código atualizado.

# Conversar em linha com o Amazon Q Developer
<a name="q-in-IDE-inline-chat"></a>

O recurso de *chat em linha* permite que você converse com o Amazon Q por meio da janela de codificação principal do seu IDE. Para usar o recurso de chat em linha, você destaca o código para o qual deseja sugestões e fornece instruções na pequena tela de entrada. O Amazon Q continua gerando código para você, apresentado em uma comparação na janela principal de codificação. Em seguida, você pode optar por aceitar ou rejeitar as alterações.

A vantagem do chat em linha é que ele elimina a troca de contexto que ocorre ao se mover entre uma janela de chat e a janela de codificação principal.

Normalmente, você usaria o recurso de chat em linha ao revisar código, escrever testes de unidade ou realizar outras tarefas que exigem respostas baseadas em código. Para situações em que você deseja respostas baseadas em texto (por exemplo, uma resposta para “Explique este código”), usar a [janela de chat]() é a melhor opção.

O Amazon Q considera o código no arquivo atual ao gerar uma recomendação de código por meio do chat em linha. Ele não considera o código de outros arquivos ou projetos.

## O chat em linha do Amazon Q em ação
<a name="q-in-IDE-inline-chat-action"></a>

Uma sessão de chat em linha ocorre da maneira a seguir.

1. Destaque o código para o qual deseja sugestões e selecione entre as seguintes opções com base no seu IDE: 
   + No Visual Studio Code e no JetBrains, pressione `⌘+I` (no Mac) ou `Ctrl+I` (no Windows)
   + No Eclipse, pressione `⌘+Shift+I` (no Mac) ou `Ctrl+Shift+I` (no Windows)
   + Como alternativa, você pode clicar com o botão direito do mouse na seleção e escolher **Amazon Q** e, em seguida, **Chat em linha**

   Isso abre uma pequena tela de entrada na parte superior da janela principal de codificação, na qual você pode inserir um prompt, como **Fix this code**.  
![\[A tela de entrada do chat em linha.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/inline-chat-input-screen.png)

1. O Amazon Q gera código e o apresenta em uma comparação.  
![\[A comparação do chat em linha.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/inline-chat-diff.png)

1. Você aceita ou rejeita a alteração clicando em **Aceitar** ou **Rejeitar** ou pressionando os equivalentes do teclado (`Enter` ou `Esc`).  
![\[Os botões de aceitação e rejeição do chat em linha.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/inline-chat-accept.png)

## Exemplos de tópicos e perguntas
<a name="q-in-IDE-inline-chat-questions"></a>

O chat em linha sempre retorna o código como resposta, para que você possa inserir prompts como:
+ Documente este código
+ Refatore este código
+ Escreva testes de unidade para esta função

## Formato da comparação
<a name="q-in-IDE-inline-chat-diff"></a>

O chat em linha exibe a comparação em vários blocos, com o código existente na parte superior e o código sugerido na parte inferior. Não há suporte para uma side-by-side comparação.

# Adicionar contexto ao chat do Amazon Q Developer no IDE
<a name="ide-chat-context"></a>

Ao conversar com o Amazon Q no ambiente de desenvolvimento integrado (IDE), você poderá fornecer ao Amazon Q *contexto* adicional, como arquivos e pastas, que o Amazon Q poderá usar para personalizar e melhorar suas respostas.

Há duas maneiras de fornecer contexto ao Amazon Q:
+ **Explicitamente**: para fornecer contexto explicitamente, insira **@** na janela de chat. O **@** inicia um pop-up de seletor de contexto, no qual você seleciona itens para incluir como contexto. Como alternativa, você pode digitar **@** e começar a digitar o nome do arquivo, pasta ou outro tipo de contexto para que ele seja preenchido automaticamente. Para obter mais informações, consulte [Tipos de contexto explícito](#context-explicit).
+ **Automaticamente**: para fornecer contexto automaticamente, configure o contexto separadamente, fora do chat. O Amazon Q faz referência automática ao contexto sempre que um desenvolvedor que trabalha no projeto digita uma pergunta na janela de chat. Para obter mais informações, consulte [Tipos de contextos automáticos](#context-automatic).

Depois que o Amazon Q gera uma resposta, ele mostra os arquivos usados como contexto na lista suspensa **Contexto**, que aparece imediatamente acima do início da resposta.

## Tipos de contexto explícito
<a name="context-explicit"></a>

Ao digitar **@** no chat, você poderá selecionar entre os seguintes tipos de contexto:
+ **@workspace**: o Amazon Q usa o espaço de trabalho do seu projeto como contexto para suas respostas. A opção **@workspace** requer configuração. Para obter mais informações, consulte [Adicionar contexto de espaço de trabalho ao bate-papo do Amazon Q Developer no IDE](workspace-context.md).
+ **Pastas**: o Amazon Q mostra uma lista de pastas no projeto atual e usa a pasta selecionada como contexto para as respostas.
+ **Arquivos**: o Amazon Q mostra uma lista de arquivos no projeto atual e usa o arquivo selecionado como contexto para as respostas.
+ **Código**: o Amazon Q mostra uma lista de classes, funções e variáveis globais no projeto atual e usa sua seleção como contexto para as respostas.
+ **Imagens**: o Amazon Q permite que você adicione imagens como contexto para seus prompts, o que é útil para cenários como gerar código com base em modelos de interface do usuário ou diagramas de sequência. As imagens devem estar no formato JPEG, PNG, GIF ou WebP, com tamanho máximo de 3,75 MB e dimensões não superiores a 8.000 x 8.000 pixels. Você pode incluir até 20 imagens em uma única mensagem, incluindo qualquer imagem fixada no contexto.
+ **Prompts**: o Amazon Q mostra uma lista de prompts que você salvou e usa o prompt selecionado como contexto para as respostas. A opção **Prompts** requer algumas configurações. Para obter mais informações, consulte [Salvar prompts em uma biblioteca para uso com o chat do Amazon Q Developer](context-prompt-library.md).

## Tipos de contextos automáticos
<a name="context-automatic"></a>

Os seguintes tipos de contextos serão usados automaticamente pelo Amazon Q, se você os tiver configurado:
+ **Regras do projeto**: o Amazon Q usará automaticamente um conjunto de regras de projeto que você definir como contexto. Para obter mais informações, consulte [Criar regras de projeto para uso com o chat do Amazon Q Developer](context-project-rules.md).
+ **Personalizações**: o Amazon Q usará automaticamente um repositório de código-fonte como contexto.

# Adicionar contexto de espaço de trabalho ao bate-papo do Amazon Q Developer no IDE
<a name="workspace-context"></a>

Ao conversar com o Amazon Q no ambiente de desenvolvimento integrado (IDE), você pode adicionar **@workspace** à sua pergunta para incluir automaticamente as partes mais relevantes do código do seu espaço de trabalho como contexto. O Amazon Q Developer determina a relevância com base em um índice que é atualizado periodicamente.

Com o contexto do espaço de trabalho, o Amazon Q tem recursos aprimorados, incluindo localização de arquivos, compreensão de como o código é usado em todos os arquivos e geração de código que aproveita vários arquivos, incluindo arquivos que não estão abertos. 

**Topics**
+ [Configuração](#setup)
+ [Faça perguntas com o contexto do espaço de trabalho](#ask-questions-workspace-context)

## Configuração
<a name="setup"></a>

Antes de continuar, certifique-se de que você tem a versão mais recente do seu IDE instalada. Você pode concluir as seguintes etapas de configuração. 

### Habilitar a indexação
<a name="setup-enable-indexing"></a>

Para usar seu espaço de trabalho como contexto, o Amazon Q cria um índice local do seu repositório de espaço de trabalho, incluindo arquivos de código, arquivos de configuração e estrutura do projeto. Durante a indexação, arquivos não essenciais, como binários ou aqueles especificados nos `.gitignore` arquivos, são filtrados. 

A indexação de um novo espaço de trabalho pode levar de 5 a 20 minutos. Durante esse período, você pode esperar um uso elevado da CPU em seu IDE. Após a indexação inicial, o índice é atualizado incrementalmente quando você faz alterações no seu espaço de trabalho.

Na primeira vez que você adiciona contexto de espaço de trabalho, você deve habilitar a indexação em seu IDE. Execute as etapas a seguir para habilitar a indexação: 

1. Adicione **@workspace** à sua pergunta no painel do Amazon Q chat.

1. O Amazon Q solicita que você habilite a indexação. Escolha **Configurações** para ser redirecionado para as configurações do Amazon Q em seu IDE. 

   Se não for solicitado, acesse as configurações escolhendo **Amazon Q** na parte inferior do seu IDE. Em seguida, escolha **Abrir configurações** na barra de tarefas do Amazon Q que é aberta.

1. Selecione a caixa ao lado de **Índice do espaço de trabalho**.

### Configurar a indexação (opcional)
<a name="setup-configure-indexing"></a>

Nenhuma configuração é necessária para o processo de indexação, no entanto, você pode optar por especificar o número de segmentos dedicados à indexação. Se você aumentar o número de threads usados, a indexação será concluída mais rapidamente e usará mais da sua CPU. Para atualizar a configuração de indexação, especifique o número de threads para a configuração **Threads de operador do índice do espaço de trabalho**. Você também pode definir o tamanho máximo dos arquivos que podem ser indexados para o contexto do espaço de trabalho e permitir o uso da sua unidade de processamento gráfico (GPU) para indexação.

## Faça perguntas com o contexto do espaço de trabalho
<a name="ask-questions-workspace-context"></a>

Para adicionar seu espaço de trabalho como contexto à sua conversa com o Amazon Q, abra o espaço de trabalho sobre o qual você deseja fazer perguntas e, em seguida, adicione **@workspace** à sua pergunta no painel de bate-papo. Você deve adicionar @workspace a qualquer pergunta à qual você queira adicionar contexto de espaço de trabalho.

Se você quiser começar a conversar sobre um espaço de trabalho diferente, abra o espaço de trabalho e, em seguida, abra uma nova guia de bate-papo. Inclua **@workspace** na sua pergunta para adicionar o novo espaço de trabalho como contexto. 

Você pode perguntar à Amazon Q sobre qualquer arquivo em seu espaço de trabalho, incluindo arquivos não abertos. O Amazon Q pode explicar arquivos, localizar códigos e gerar códigos entre arquivos, além dos recursos de codificação conversacional existentes.

A seguir estão exemplos de perguntas que você pode fazer ao Amazon Q que aproveitam o contexto do espaço de trabalho no bate-papo: 
+ @workspace onde está o código que trata da autorização?
+ @workspace quais são as principais classes com lógica de aplicação neste projeto?
+ @workspace explique o main.py 
+ @workspace adiciona autenticação a este projeto
+ @workspace quais bibliotecas ou pacotes de terceiros são usados neste projeto e com qual finalidade?
+ @workspace adiciona testes de unidade para função *<function name>*

# Salvar prompts em uma biblioteca para uso com o chat do Amazon Q Developer
<a name="context-prompt-library"></a>

Você pode criar uma biblioteca de prompts comuns para usar ao conversar com o Amazon Q no IDE. Ao armazenar esses prompts em sua biblioteca, você poderá inseri-los facilmente no chat sem precisar digitá-los novamente a cada vez. Você pode usar os prompts salvos em várias conversas e projetos.

Os prompts são salvos na pasta `~/.aws/amazonq/prompts`.

**Como salvar um prompt em uma biblioteca de prompts**

1. No seu IDE, abra uma janela de chat do Amazon Q.

1. Digite **@** e selecione **Prompts**.

1. Selecione **Criar um novo prompt**. (Talvez seja necessário rolar para baixo para encontrá-lo.)

1. Em **Nome do prompt**, insira um nome de prompt, como **Create\$1sequence\$1diagram** e pressione Enter. Observe que os nomes dos prompts não podem incluir espaços.

   O Amazon Q cria um arquivo de prompt chamado `Create_sequence_diagram.md` na pasta `~/.aws/amazonq/prompts` e abre o arquivo no seu IDE.

1. No arquivo de prompt, adicione um prompt detalhado. Por exemplo:

   `Create a sequence diagram using Mermaid that shows the sequence of calls between resources. Ignore supporting resources like IAM policies and security group rules.`

1. Salve o arquivo de prompt.

**Como usar um prompt salvo**

1. No seu IDE, abra uma janela de chat do Amazon Q.

1. Digite **@** e selecione **Prompts**.

1. Escolha seu prompt salvo, por exemplo, **Create\$1sequence\$1diagram**.

1. (Opcional) Na janela de entrada do chat, adicione detalhes, conforme necessário. Você pode digitar mais texto e adicionar mais tipos de contexto. Veja a seguir um exemplo de prompt…

   `@Create_sequence_diagram using the files in the @lib folder`

1. Envie o prompt e aguarde até que o Amazon Q gere uma resposta.

# Fixar itens de contexto
<a name="context-pinning"></a>

**nota**  
A fixação de contexto está atualmente disponível somente no IDE do VS Code.

A fixação de contexto permite que você especifique itens de contexto adicionados a todas as mensagens em sua sessão de chat. Quando você fixa um item de contexto, ele é incluído automaticamente em todas as mensagens da sua conversa atual, eliminando a necessidade de digitar repetidamente comandos como **@workspace**, **@file** ou **@folder**.

Os itens fixados podem vir de duas fontes: você pode fixar manualmente os itens que você faz referência com frequência ou o Amazon Q pode adicionar contexto automaticamente (como seu arquivo ativo atual) para melhorar a qualidade da resposta. Os itens de contexto fixados aparecem na parte superior da caixa de entrada de texto do painel de chat, e você tem o controle de remover qualquer contexto que não queira incluir.

Para manter limites de contexto claros, os itens fixados só se aplicam à sua guia de chat atual. Ao abrir uma nova guia, você começará do zero somente com o contexto fixado padrão, como o arquivo ativo.

## Usar contexto fixado
<a name="w2aac11c16c25c19b7"></a>

**Como adicionar itens de contexto fixados**

1. Em seu IDE, abra o painel de chat do Amazon Q.

1. Após usar um comando de contexto como **@workspace**, **@file**, **@folder** ou **@prompt** em um chat, clique no contexto desejado para fixá-lo.

   Como alternativa, você pode clicar no botão “@ Fixar contexto” para ver as opções disponíveis e selecionar um contexto para fixar.

1. O contexto fixado aparecerá na área de contexto fixado na parte superior do painel de chat.

### Métodos para fixar itens de contexto
<a name="w2aac11c16c25c19b7b5"></a>

Há três maneiras de fixar itens de contexto:

1. Usando o menu @Fixar contexto:
   + Clique no botão “@Fixar contexto” no painel de chat.
   + Selecione o item de contexto desejado entre as opções disponíveis.

1. Usando o menu de contexto e o atalho do teclado:
   + Digite “@” na entrada do chat para abrir o menu de contexto.
   + Navegue até o item desejado.
   + Pressione Option/Alt \$1 Enter para fixar o item selecionado.

1. Fixando a partir do prompt de entrada:
   + Se você já digitou um comando de contexto (como **@workspace**, **@file**, **@folder** ou **@prompt**) na entrada, passe o mouse sobre o item de contexto na entrada.
   + Clique no item para fixá-lo.

Depois de fixar, o item de contexto aparecerá na área de contexto fixado na parte superior da caixa de entrada de texto do chat.

**Como remover itens de contexto fixados**
+ Para remover um item de contexto fixado, clique no X no lado esquerdo da cápsula. Isso funciona tanto para itens de contexto fixados pelo usuário quanto para itens de contexto adicionados pelo sistema.

# Criar regras de projeto para uso com o chat do Amazon Q Developer
<a name="context-project-rules"></a>

Você pode criar uma biblioteca de regras de projeto para usar ao conversar com o Amazon Q no IDE. Essas regras descrevem os padrões de codificação e as práticas recomendadas para toda a sua equipe. Por exemplo, você pode ter uma regra que afirma que todo código Python deve usar dicas de tipo ou que todo código Java deve usar comentários em Javadoc. Ao armazenar essas regras em seu projeto, você poderá garantir a consistência entre os desenvolvedores, independentemente do nível de experiência.

As regras do projeto são definidas nos arquivos Markdown na pasta `project-root/.amazonq/rules` do projeto.

Após criar as regras do projeto, o Amazon Q as usará automaticamente como contexto sempre que um desenvolvedor conversar com o Amazon Q no seu projeto e garantirá que elas sejam seguidas ao gerar respostas. Para obter mais informações sobre como adicionar contexto ao chat, consulte [Adicionar contexto ao chat do Amazon Q Developer no IDE](ide-chat-context.md).

Você pode criar regras de projeto diretamente no sistema de arquivos ou por meio da interface de chat do Amazon Q.

**Como criar uma regra de projeto usando a interface de chat do Amazon Q**

1. Em seu IDE, abra o painel de chat do Amazon Q.

1. Na caixa de entrada do chat, clique no botão **Regras**.

1. Selecione **Criar nova regra**.

1. Na caixa de diálogo que aparece, insira um nome para a regra.

   Isso criará um arquivo Markdown com esse nome na pasta `project-root/.amazonq/rules` do seu projeto.

1. Adicione o conteúdo da regra no editor.

1. Salve o arquivo.

**Como criar uma regra de projeto usando o sistema de arquivos**

1. No seu IDE, abra a pasta raiz do projeto. 

1. Na pasta raiz do projeto, crie a seguinte pasta:

   `project-root/.amazonq/rules`

   Essa pasta contém todas as regras do seu projeto.

1. Em `project-root/.amazonq/rules`, crie um arquivo de regras do projeto. Ele deve ser um arquivo Markdown. Por exemplo:

   `cdk-rules.md`

1. Abra o arquivo Markdown da regra do projeto.

1. Adicione um prompt detalhado ao arquivo. Por exemplo:

   ```
   All Amazon S3 buckets must have encryption enabled, enforce SSL, and block public access.
   All Amazon DynamoDB Streams tables must have encryption enabled. 
   All Amazon SNS topics must have encryption enabled and enforce SSL. 
   All Amazon SNS queues must enforce SSL.
   ```

1. Salve o arquivo.

1. (Opcional) Adicione mais arquivos Markdown de regras do projeto.

   Agora você criou uma ou mais regras do projeto. O Amazon Q usará essas regras como contexto automaticamente sempre que um desenvolvedor conversar com o Amazon Q no seu projeto.

**Como gerenciar regras na interface de chat do Amazon Q**

1. Em seu IDE, abra o painel de chat do Amazon Q.

1. Na caixa de entrada do chat, clique no botão **Regras** para ver todas as regras disponíveis.

1. Clique em uma regra para ativá-la ou desativá-la na sessão de chat atual:
   + As regras com uma marca de seleção estão ativas e serão aplicadas à sua conversa.
   + As regras sem uma marca de seleção estão inativas para a sessão atual.

# Gerando um banco de memória para o Amazon Q chat
<a name="context-memory-bank"></a>

O Amazon Q pode gerar automaticamente arquivos de banco de memória que fornecem um índice rápido da estrutura, da pilha de tecnologia e das informações do produto do seu projeto. Esse recurso analisa os principais arquivos do seu projeto para criar arquivos de resumo que ajudam o Amazon Q a entender sua base de código sem precisar analisar o projeto inteiro toda vez que você faz uma pergunta.

Quando você gera arquivos de banco de memória, o Amazon Q cria uma `memory-bank` subpasta abaixo `.amazonq/rules` que contém os seguintes arquivos gerados automaticamente:
+ `product.md`— Visão geral do seu projeto e suas capacidades.
+ `structure.md`— A arquitetura, a organização de pastas e os principais componentes do seu projeto.
+ `tech.md`— Sua pilha de tecnologia, estruturas, dependências e padrões de codificação.
+ `guidelines.md`— Padrões e padrões de desenvolvimento para seu projeto.

Esses arquivos são usados automaticamente como contexto quando você conversa com o Amazon Q, fornecendo informações básicas sobre seu projeto.

## Gere um banco de memória para seu projeto
<a name="generate-files"></a>

Para gerar um banco de memória, conclua o procedimento a seguir.

1. Em seu IDE, abra o painel de chat do Amazon Q.

1. Na caixa de entrada do bate-papo, escolha o botão **Regras**.

1. Selecione **Gerar banco de memória**.

1. Uma nova guia de bate-papo é aberta, onde o Amazon Q começa a analisar seu projeto para criar os arquivos do banco de memória.

1. Depois de concluído, você pode visualizar os arquivos escolhendo o botão **Regras**.

   Você pode selecionar e desmarcar arquivos individuais para serem usados como contexto ao fazer uma pergunta.

1. Se seu projeto mudar, você pode fazer com que o Amazon Q gere novos arquivos de banco de memória para atualizar seu contexto. Para fazer isso, escolha o botão **Regras** e selecione **Regenerar banco de memória**.

## Personalize a geração do banco de memória
<a name="customize-files"></a>

Você pode personalizar como os arquivos do banco de memória são gerados criando regras de projeto personalizadas. Por exemplo, você pode criar uma regra que especifique o idioma ou o formato dos arquivos gerados:

```
When generating the memory bank files like product.md, structure.md, and tech.md, 
always generate content in Spanish and include detailed code examples.
```

Salve as regras do banco de memória em um arquivo na `project-root/.amazonq/rules` pasta do seu projeto.

Para obter mais informações sobre a criação de regras de projeto personalizadas, consulte[Criar regras de projeto para uso com o chat do Amazon Q Developer](context-project-rules.md).

# Compactar o histórico do chat no Amazon Q Developer
<a name="ide-chat-history-compaction"></a>

Conforme você interage com o Amazon Q Developer em seu IDE, sua conversa se acumula no histórico do chat. Esse histórico fornece um contexto importante que ajuda o Amazon Q a entender seu projeto e fornecer respostas mais relevantes. No entanto, há limites para quanto do histórico de conversas pode ser incluído em cada solicitação ao modelo subjacente.

## Noções básicas sobre os limites da janela de contexto
<a name="understanding-context-window-limits"></a>

A janela de contexto representa a quantidade máxima de informações que podem ser processadas em uma única interação com o Amazon Q. Incluindo:
+ Sua pergunta ou solicitação atual
+ Mensagens anteriores em sua conversa
+ Trechos de código e arquivos que você compartilhou
+ Informações do sistema sobre seu projeto

Quando essa janela de contexto se aproxima do limite de capacidade, a capacidade do Amazon Q de referenciar partes anteriores da conversa pode ser afetada.

## Como funciona a compactação do histórico de conversas
<a name="how-chat-history-compaction-works"></a>

A compactação do histórico do chat permite que você preserve as informações essenciais da conversa e reduza a quantidade de contexto usado. Quando a compactação ocorre:

1. O Amazon Q analisa o histórico da conversa

1. Ele cria um resumo conciso dos principais pontos, perguntas e decisões

1. Esse resumo substitui o histórico detalhado da conversa na janela de contexto

1. Sua conversa completa permanece visível na interface do chat

A compactação ajuda você a continuar a conversa sem perder um contexto importante, evitando a necessidade de iniciar um chat completamente novo quando atinge os limites da janela de contexto.

## Usar a compactação do histórico do chat
<a name="using-chat-history-compaction"></a>

Você pode usar a compactação de duas maneiras:

### Compactação manual
<a name="manual-compaction"></a>

Para compactar manualmente o histórico da conversa:

1. Digite **/compact** no campo de entrada de texto

1. O Amazon Q processará sua solicitação e exibirá uma mensagem de confirmação com um resumo da conversa compactada

Use a compactação manual quando quiser continuar sua conversa atual, mas notar tempos de resposta mais lentos ou respostas menos relevantes.

### Sugestão de compactação automática
<a name="automatic-compaction-nudge"></a>

Quando a janela de contexto atingir aproximadamente 80% da capacidade, o Amazon Q exibirá uma notificação sugerindo compactação. Os tipos de notificação incluem:
+ Uma explicação de por que a compactação é recomendada
+ Um botão para acionar a compactação imediatamente

## Após a compactação
<a name="after-compaction"></a>

Após a compactação ocorrer:
+ O histórico completo da conversa permanecerá visível na interface do chat até o final da sessão atual
+ O Amazon Q usará o resumo compactado (não o histórico completo) para gerar respostas
+ O resumo compactado será incluído na janela de contexto em vez do histórico detalhado
+ O histórico detalhado do chat será redefinido quando você reiniciar seu IDE

## Comandos relacionados
<a name="related-commands"></a>

### Limpar o histórico do chat
<a name="clearing-chat-history"></a>

Como alternativa à compactação, você pode limpar completamente o histórico do chat usando o comando **/clear**:

1. Digite **/clear** no campo de entrada de texto

1. O Amazon Q removerá todo o histórico da conversa anterior da tela e da janela de contexto

### Quando escolher compactação ou limpeza do histórico
<a name="when-to-choose-compaction-vs-clearing"></a>

Escolha a compactação quando:
+ Você deseja continuar o tópico de conversa atual
+ O contexto anterior ainda é relevante para a tarefa atual
+ Você deseja preservar a direção geral e o conhecimento da conversa

Escolha limpar o histórico quando:
+ Você está iniciando uma tarefa ou tópico completamente novo
+ A conversa anterior não é mais relevante
+ Você quer garantir que nenhum contexto anterior influencie novas respostas
+ Você deseja remover informações potencialmente confidenciais da conversa

# Visualizar, excluir e exportar o histórico de conversas do Amazon Q Developer
<a name="ide-chat-conversation"></a>

Ao conversar com o Amazon Q no ambiente de desenvolvimento integrado (IDE), o Amazon Q salvará cada uma das guias de chat como uma conversa separada. Você pode visualizar, pesquisar e excluir essas conversas. Você também pode exportá-las para arquivos no formato Markdown ou HTML.

O Amazon Q armazena as suas conversas no seu computador local, no seu diretório pessoal.

O Amazon Q salva conversas para cada espaço de trabalho separadamente, então, se você não vê seu histórico de conversas, pode ser porque está no espaço de trabalho errado. O Amazon Q exibe somente o histórico de conversas do espaço de trabalho atual.

Use as instruções a seguir para visualizar, pesquisar, excluir e exportar suas conversas.

**Como visualizar e pesquisar conversas anteriores**

1. No seu IDE, faça login no Amazon Q.

1. Abra uma guia de chat do Amazon Q.

1. Abra o histórico de chat de uma das seguintes maneiras:
   + No canto superior direito do painel de chat, clique no botão **Exibir histórico do chat**.
   + Pressione `ctrl+F` (no Windows e no Linux) ou `⌘ F` (no Mac).

1. Execute um destes procedimentos:
   + Selecione a conversa que deseja visualizar. As conversas são organizadas por data.
   + Use a barra de pesquisa na parte superior do histórico do chat para encontrar uma conversa. O Amazon Q encontra conversas que correspondem exatamente ao texto que você digita.

**Como excluir uma única conversa**

1. No seu IDE, faça login no Amazon Q.

1. Execute um destes procedimentos:
   + Na guia de chat de uma sessão de chat aberta, insira **/clear** para excluir o conteúdo da guia de chat.
   + Abra uma guia de chat do Amazon Q e, em seguida, abra o histórico de chat seguindo um destes procedimentos:
     + No canto superior direito do painel de chat, clique no botão **Exibir histórico do chat**.
     + Pressione `ctrl+F` (no Windows e no Linux) ou `⌘ F` (no Mac).

     Na conversa que você deseja excluir, selecione as reticências verticais (⋮) e clique em **Excluir**.

**Como exportar uma conversa para Markdown ou HTML**

1. No seu IDE, faça login no Amazon Q.

1. Execute um destes procedimentos:
   + Com uma sessão de chat já iniciada, no canto superior direito do painel de chat, clique no botão **Exportar** para exportar a conversa exibida na guia.
   + Abra uma guia de chat do Amazon Q e, em seguida, abra o histórico de chat seguindo um destes procedimentos:
     + No canto superior direito do painel de chat, clique no botão **Exibir histórico do chat**.
     + Pressione `ctrl+F` (no Windows e no Linux) ou `⌘ F` (no Mac).

     Na conversa que você deseja exportar, clique nas reticências verticais (⋮) e selecione **Exportar** para exportar a conversa para um arquivo no formato Markdown ou HTML.

   Por padrão, o Amazon Q nomeia o arquivo `q-dev-chat-yyyy-mm-dd.md|html` e o salva na raiz do seu projeto.

# Usar teclas de atalho no chat com o Amazon Q Developer
<a name="q-in-ides-chat-shortcuts"></a>

O Amazon Q fornece atalhos de teclado para ajudar você a interagir com a interface do chat agêntico de maneira eficiente. O uso de atalhos de teclado pode ajudar você a manter seu fluxo de trabalho sem alternar entre teclado e mouse.

**nota**  
Atualmente, os atalhos de teclado só estão disponíveis no IDE do Visual Studio Code.

## Atalhos de teclado
<a name="keyboard-shortcuts"></a>


**Atalhos de teclado do chat do Amazon Q**  

| Ação | Atalho do Visual Studio Code | 
| --- | --- | 
| Executar comando |  Shift \$1 Cmd \$1 Enter (Mac) Shift \$1 Ctrl \$1 Enter (Windows) Shift \$1 Meta \$1 Enter (Linux)  | 
| Rejeitar comando |  Shift \$1 Cmd \$1 R (Mac) Shift \$1 Ctrl \$1 R (Windows) Shift \$1 Meta \$1 R (Linux)  | 
| Parar a geração |  Shift \$1 Cmd \$1 Backspace (Mac) Shift \$1 Ctrl \$1 Backspace (Windows) Shift \$1 Meta \$1 Backspace (Linux)  | 

## Personalizar atalhos de teclado
<a name="customizing-keyboard-shortcuts"></a>

Os atalhos podem ser modificados na interface padrão de personalização de atalhos de teclado em seu IDE. O Amazon Q usa o sistema de atalhos nativo de cada IDE, portanto, todas as alterações feitas serão refletidas na interface do Amazon Q. Os atalhos mostrados nas dicas de ferramentas e nos elementos da interface do usuário serão atualizados automaticamente para corresponder aos seus mapeamentos de teclas personalizados.

## Descobrir atalhos
<a name="shortcut-discoverability"></a>

O Amazon Q oferece várias maneiras para descobrir atalhos de teclado:
+ **Dicas de ferramentas**: passe o cursor sobre o botão de Executar comando, botão Rejeitar comando ou botão Parar para ver o atalho de teclado atual
+ **Configurações**: veja todos os atalhos na interface de personalização de atalhos de teclado do seu IDE

## Comportamento de atalhos
<a name="shortcut-behavior"></a>
+ Os atalhos do teclado para o chat agêntico só estão ativos quando seu foco está no painel de chat do Amazon Q
+ Isso evita conflitos com combinações de teclas do IDE existentes
+ Se você modificar um atalho, talvez seja necessário atualizar seu IDE para que as alterações sejam refletidas nas dicas de ferramentas

# Selecionar um modelo para o chat do Amazon Q em IDEs
<a name="q-in-ides-chat-models"></a>

Você pode selecionar o modelo que deseja que o Amazon Q use durante o chat no IDE. O modelo selecionado será mantido em todas as futuras sessões de chat.

A tabela a seguir descreve os modelos disponíveis para o chat do Amazon Q no IDE e suas janelas de contexto.


****  

| Modelo | Janela de contexto | 
| --- | --- | 
| Claude Sonnet 3.7 | 200 mil | 
| Claude Sonnet 4 (padrão) | 200 mil | 

## Selecionar o modelo usado para conversar no IDE
<a name="select-model-ide-chat"></a>

Como selecionar o modelo que o Amazon Q usa quando você conversa no seu IDE:

1. Abra o painel de chat do Amazon Q no seu IDE.

1. Na parte inferior da caixa de texto, selecione o menu suspenso do modelo. Selecione o modelo que você quer usar entre as opções disponíveis.

   O modelo que você selecionar será mantido até que você o altere.

## Janelas de contexto
<a name="context-window"></a>

A janela de contexto é a quantidade de contexto, incluindo o histórico da conversa e qualquer contexto explícito ou automático, que o Amazon Q pode usar para processar e responder às suas solicitações. O contexto é medido em tokens, que incluem texto e código.

Para obter mais informações sobre contexto, consulte [Adicionar contexto ao chat](ide-chat-context.md).

# Geração de sugestões em linha com o Amazon Q Developer.
<a name="inline-suggestions"></a>

O Amazon Q pode fornecer recomendações de código em tempo real. Quando você escreve código, o Amazon Q gera automaticamente sugestões com base nos seus códigos e comentários existentes. As recomendações personalizadas podem variar em tamanho e escopo, desde um comentário de uma única linha até funções totalmente formadas.

Quando você começa a digitar um código de linha única, o Amazon Q faz sugestões com base nas entradas atuais e anteriores. Os nomes dos arquivos também são levados em consideração.

As sugestões embutidas são ativadas automaticamente quando você baixa a extensão Amazon Q. Para começar, comece a escrever código e a Amazon Q começará a gerar sugestões de código.

Você também pode personalizar as sugestões que o Amazon Q gera para as bibliotecas internas, as técnicas algorítmicas proprietárias e o estilo de código corporativo da sua equipe de desenvolvimento de software.

**Topics**
+ [Pausar sugestões com o Amazon Q](#toggling-suggestions)
+ [Preenchimento de código Amazon Q em ação](#what-is-walkthrough)
+ [Gerando sugestões em linha em ambientes de AWS codificação](setting-up-AWS-coding-env.md)
+ [Usar teclas de atalho com o](actions-and-shortcuts.md)
+ [Usando referências de código](code-reference.md)
+ [Exemplos de código](inline-suggestions-code-examples.md)

## Pausar sugestões com o Amazon Q
<a name="toggling-suggestions"></a>

Escolha seu IDE para ver as etapas para pausar e retomar sugestões de código em linha no Amazon Q.

------
#### [ Visual Studio Code ]

1. Em VS Code, escolha **Amazon Q** na bandeja de componentes na parte inferior da janela do IDE.

   A barra de tarefas do Amazon Q é aberta na parte superior da janela do IDE. 

1. Escolha **Pausar sugestões automáticas** ou **Retomar sugestões automáticas**.

A imagem a seguir mostra a barra de tarefas Amazon Q em VS Code.

![\[A barra de tarefas do Amazon Q está em VS Code.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/VSC-taskbar.png)


------
#### [ JetBrains ]

1. No IDE do JetBrains, selecione **Amazon Q** na barra de status na parte inferior da janela.

   A barra de tarefas do Amazon Q é aberta acima da barra de status. 

1. Escolha **Pausar sugestões automáticas** ou **Retomar sugestões automáticas**.

A imagem a seguir mostra a barra de tarefas do Amazon Q em um IDE do JetBrains.

![\[A barra de tarefas do Amazon Q em um IDE do JetBrains.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/JB-taskbar.png)


------
#### [ Eclipse ]

1. No IDE do Eclipse, selecione o ícone do **Amazon Q** no canto superior direito. 

1. Com a guia de chat do Amazon Q aberta, selecione o ícone de elipse (três pontos) no canto superior direito da guia. A barra de tarefas do Amazon Q é aberta.

   A imagem a seguir mostra a barra de tarefas do Amazon Q em um IDE do Eclipse.  
![\[A barra de tarefas do Amazon Q em um IDE do Eclipse.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/eclipse-taskbar.png)

1. Escolha **Pausar sugestões automáticas** ou **Retomar sugestões automáticas**.

------
#### [ Visual Studio ]

1. Na borda da janela, escolha o logotipo do Amazon Q.

1. Selecione **Pausar sugestões automáticas** ou **Retomar sugestões automáticas**

A imagem a seguir mostra a barra de tarefas do Amazon Q no Visual Studio.

![\[O menu Ferramentas do desenvolvedor no Visual Studio.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/vstudio-toggle-suggestions.png)


------
#### [ AWS Cloud9 ]

O Amazon Q não suporta a ativação e desativação de sugestões do AWS Cloud9.

Para parar de receber sugestões do Amazon Q AWS Cloud9, remova a política do IAM que dá acesso ao Amazon Q AWS Cloud9 da função ou usuário que você está usando para acessar AWS Cloud9. 

------
#### [ AWS Lambda ]

Para desativar ou reativar as sugestões de código Amazon Q no Lambda:

1. No console do Lambda, abra a tela de uma função do Lambda específica.

1. Na seção **Fonte do código**, na barra de ferramentas, escolha **Ferramentas**.

1. No menu suspenso, escolha **Amazon Q Code** Suggestions.

------
#### [ Amazon SageMaker AI Studio ]

1. No console do SageMaker AI Studio, escolha Amazon Q na parte inferior da janela.

   O painel Amazon Q será aberto.

1. Escolha **Pausar sugestões automáticas** ou **Retomar sugestões automáticas**.

------
#### [ JupyterLab ]

1. No JupyterLab console, escolha Amazon Q na parte inferior da janela.

   O painel Amazon Q será aberto.

1. Escolha **Pausar sugestões automáticas** ou **Retomar sugestões automáticas**.

------
#### [ AWS Glue Studio Notebook ]

1. No console do AWS Glue Studio Notebook, escolha Amazon Q na parte inferior da janela.

   O painel Amazon Q será aberto.

1. Escolha **Pausar sugestões automáticas** ou **Retomar sugestões automáticas**.

------

## Preenchimento de código Amazon Q em ação
<a name="what-is-walkthrough"></a>

Esta seção demonstra como o Amazon Q pode ajudar você a escrever uma inscrição completa. Esse aplicativo cria um bucket do Amazon S3 e uma tabela do Amazon DynamoDB, além de um teste unitário que valida as duas tarefas.

Aqui, o Amazon Q ajuda o desenvolvedor a escolher quais bibliotecas importar. Usando as teclas de seta, o desenvolvedor alterna entre várias sugestões.

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-1.gif)


Aqui, o desenvolvedor insere um comentário descrevendo o código que pretende escrever na próxima linha.

O Amazon Q antecipa corretamente o método a ser chamado. O desenvolvedor pode aceitar a sugestão com a tecla tab.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-2.png)


Aqui, o desenvolvedor se prepara para definir constantes.

O Amazon Q antecipa corretamente que a primeira constante será `REGION` e que seu valor será `us-east-1`, que é o padrão.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-3.png)


Aqui, o desenvolvedor se prepara para escrever um código que abrirá sessões entre o usuário e o Amazon S3 e o DynamoDB.

O Amazon Q, familiarizado com AWS APIs e SDKs, sugere o formato correto.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-4.1.png)


O desenvolvedor simplesmente escreveu o nome da função que criará o bucket. Mas com base nisso (e no contexto), o Amazon Q oferece uma função completa, com try/except cláusulas.

Observe o uso de `TEST_BUCKET_NAME, which is a constant declared earlier in the same file.`

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-5.png)


O desenvolvedor está apenas começando a digitar o nome da função que criará uma tabela do DynamoDB. Mas a Amazon Q pode dizer para onde isso está indo.

Observe que a sugestão explica a sessão do DynamoDB criada anteriormente e até a menciona em um comentário.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-6.png)


O desenvolvedor fez pouco mais do que escrever o nome da classe de teste unitário, quando a Amazon Q se ofereceu para concluí-la.

Observe as referências integradas às duas funções criadas anteriormente no mesmo arquivo.

O desenvolvedor está apenas começando a digitar o nome da função que criará uma tabela do DynamoDB. Mas a Amazon Q pode dizer para onde isso está indo.

Observe que a sugestão explica a sessão do DynamoDB criada anteriormente e até a menciona em um comentário.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-7.png)


Com base apenas em um comentário e no contexto, o Amazon Q fornece toda a função principal.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-8.1.png)


Tudo o que resta é a guarda principal, e a Amazon Q sabe disso.

Com base apenas em um comentário e no contexto, o Amazon Q fornece toda a função principal.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-9.png)


Por fim, o desenvolvedor executa o teste unitário a partir do terminal do mesmo IDE em que a codificação ocorreu.

![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whatis-demo-10.png)


# Gerando sugestões em linha em ambientes de AWS codificação
<a name="setting-up-AWS-coding-env"></a>

Além de terceiros IDEs, o Amazon Q Developer pode gerar sugestões embutidas em AWS serviços que fornecem seus próprios ambientes de codificação.

As seções a seguir descrevem como configurar sugestões de código em linha do Amazon Q em AWS serviços integrados.

**nota**  
Se você estiver usando o Amazon Q como parte de uma empresa, então você está usando o Amazon Q Developer Pro. Nesse caso, os administradores da sua organização devem concluir etapas adicionais antes que você possa começar a programar. Para obter mais informações, consulte [Conceitos básicos do Amazon Q Developer](getting-started-q-dev.md).

**Topics**
+ [Como usar o Amazon Q Developer com o Amazon SageMaker AI Studio](sagemaker-setup.md)
+ [Usando o Amazon Q Developer com JupyterLab](jupyterlab-setup.md)
+ [Como usar o Amazon Q Developer com o Amazon EMR Studio](emr-setup.md)
+ [Usando o Amazon Q Developer com o AWS Glue Studio](glue-setup.md)
+ [Usando o Amazon Q Developer com AWS Lambda](lambda-setup.md)
+ [Como usar o Amazon Q Developer com outros serviços](other-setup.md)

# Como usar o Amazon Q Developer com o Amazon SageMaker AI Studio
<a name="sagemaker-setup"></a>

Você pode conversar com o Amazon Q no Amazon SageMaker AI Studio. Você também pode fazer recomendações de código automaticamente enquanto escreve seu código.

Para usar o Amazon Q Developer com o Amazon SageMaker AI Studio, você deve adicionar permissões do Amazon Q à sua função de execução do SageMaker AI. A forma como você configura as permissões depende se você está usando o nível gratuito do Amazon Q Developer ou o nível Pro.

 Para configurar e ativar o Amazon Q para o Amazon SageMaker AI Studio, consulte [Set up Amazon Q Developer for your users](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl-admin-guide-set-up.html) no *Guia do usuário do Amazon SageMaker AI*.

# Usando o Amazon Q Developer com JupyterLab
<a name="jupyterlab-setup"></a>

Esta página descreve como configurar e ativar o Amazon Q Developer para JupyterLab. Depois de ativado, o Amazon Q pode fazer recomendações de código automaticamente à medida que você escreve seu código.

**nota**  
Python é a única linguagem de programação compatível com a Amazon Q. JupyterLab

## Instalando JupyterLab
<a name="jupyterlab-setup-itself"></a>

Instale [JupyterLab](https://pypi.org/project/jupyterlab)no seu computador ou, se você já tiver JupyterLab instalado, verifique sua versão executando o comando a seguir.

```
pip show jupyterlab
```

Observe a versão na resposta e siga as instruções correspondentes em uma das seções a seguir.

## Instalação usando pip para a versão >= 4.0 do Jupyter Lab
<a name="jupyterlab-setup-pip-v4"></a>

Você pode instalar e habilitar a extensão Amazon Q para JupyterLab 4 pessoas com os seguintes comandos.

```
# JupyterLab 4
pip install amazon-q-developer-jupyterlab-ext
```

## Instalação usando pip para a versão >= 3.6 e < 4.0 do Jupyter Lab
<a name="jupyterlab-setup-pip-v3"></a>

Você pode instalar e habilitar a extensão Amazon Q para JupyterLab 3 pessoas com os seguintes comandos.

```
# JupyterLab 3
pip install amazon-q-developer-jupyterlab-ext~=3.0
jupyter server extension enable amazon-q-developer-jupyterlab-ext
```

## Autenticando com ID do builder AWS
<a name="jupyterlab-setup-bid"></a>

No procedimento a seguir, você configurará o Builder ID, que você usará para autenticar ao ativar o Amazon Q.

1. Atualize a guia do navegador que você está usando JupyterLab.

1. No painel Amazon Q na parte inferior da janela, escolha **Get Started**.

1. Na janela pop-up, escolha **Copiar código e continuar**.

1. Na página de **introdução, faça login ou cadastre-se para obter** um Builder ID usando seu endereço de e-mail ou conta do Google. Para obter mais informações, consulte [Conceitos básicos de uma conta pessoal (ID do builder)](getting-started-builderid.md).

   Se você já tem um Builder ID, vá para a etapa sobre a página **Autorizar solicitação**.

1. Depois de receber seu código de verificação por e-mail, insira-o no campo em branco e escolha **Verificar**.

1. Na próxima tela, escolha e confirme uma senha e, em seguida, escolha **Criar ID do builder AWS**

1. Na próxima página, escolha **Permitir** para permitir que a Amazon Q acesse seus dados.

Agora você deve estar logado no Amazon Q JupyterLab com o Builder ID.

Para começar a codificar, consulte [Usar teclas de atalho com o](actions-and-shortcuts.md).

![\[Um exemplo do Amazon Q em uso com JupyterLab.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/qdev-demo-example.png)


# Como usar o Amazon Q Developer com o Amazon EMR Studio
<a name="emr-setup"></a>

Esta página descreve como configurar e ativar o Amazon Q Developer para o Amazon EMR Studio. Depois de ativado, o Amazon Q pode fazer recomendações de código automaticamente à medida que você escreve seu código ETL.

**nota**  
O Amazon Q é compatível com Python, que pode ser usado para codificar scripts ETL para trabalhos do Spark no Amazon EMR Studio.

Use o seguinte procedimento para configurar o Amazon EMR Studio para trabalhar com o Amazon Q.

1. Configure o [caderno do Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-create.html).

1. Anexe a seguinte política ao perfil de usuário do IAM no caderno do Amazon EMR Studio.
**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AmazonQDeveloperPermissions",
               "Effect": "Allow",
               "Action": [
                   "codewhisperer:GenerateRecommendations"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Abra o [console do Amazon EMR](https://console.aws.amazon.com/emr).

1. Em Amazon EMR Studio, escolha **Workspaces (Notebooks).**

1. Selecione seu WorkSpace e clique em **Excluir**.

# Usando o Amazon Q Developer com o AWS Glue Studio
<a name="glue-setup"></a>

Esta página descreve como configurar e ativar o Amazon Q Developer para [cadernos do AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/ug/notebooks-chapter.html). Depois de ativado, o Amazon Q pode fazer recomendações de código automaticamente à medida que você escreve seu código ETL.

**nota**  
O Amazon Q é compatível com Python e Scala, as duas linguagens usadas para codificar scripts ETL para trabalhos do Spark no Studio. AWS Glue 

No procedimento a seguir, você será configurado AWS Glue para trabalhar com o Amazon Q.

1. [Configure o AWS Glue Studio Notebook](https://docs.aws.amazon.com/glue/latest/ug/notebook-getting-started.html).

1. Anexe a política a seguir ao seu perfil do IAM para o caderno do Glue Studio
**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AmazonQDeveloperPermissions",
               "Effect": "Allow",
               "Action": [
                   "codewhisperer:GenerateRecommendations"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Abra o [Console do Glue](https://console.aws.amazon.com/glue).

1. Em **Tarefas de ETL**, escolha **Notebooks**.

1. Verifique se o **caderno Jupyter** está selecionado. Escolha **Criar**.

1. Insira um **nome de trabalho**.

1. Para perfil do IAM, selecione a função do que você configurou para interagir com o Amazon Q

1. Escolha **Iniciar caderno**.

# Usando o Amazon Q Developer com AWS Lambda
<a name="lambda-setup"></a>

Este documento descreve como ativar o Amazon Q Developer no console do Lambda. Após ser ativado, o Amazon Q pode fazer recomendações de código sob demanda no editor de código do Lambda conforme você desenvolve sua função.

**nota**  
No console do Lambda, o Amazon Q é compatível apenas com funções que usam os runtimes Python e Node.js.

## AWS Identity and Access Management permissões para Lambda
<a name="lambda-q-dev-IAM-policies"></a>

 Para que o Amazon Q forneça recomendações no console do Lambda, você deve ativar as permissões corretas do IAM para seu usuário ou perfil do IAM. Você deve adicionar a permissão `codewhisperer:GenerateRecommendations`, conforme descrito no seguinte exemplo de política do IAM: 

**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AmazonQDeveloperPermissions",
      "Effect": "Allow",
      "Action": ["codewhisperer:GenerateRecommendations"],
      "Resource": "*"
    }
  ]
}
```

------

É prática recomendada usar políticas do IAM para conceder permissões restritivas às entidades principais do IAM. Para obter detalhes sobre como trabalhar com o IAM para AWS Lambda, consulte [Gerenciamento de identidade e acesso AWS Lambda no](https://docs.aws.amazon.com/lambda/latest/dg/security-iam.html) *Guia do AWS Lambda desenvolvedor*.

## Ativar o Amazon Q Developer com o Lambda
<a name="lambda-activation"></a>

Para ativar o Amazon Q no editor de código do console do Lambda, realize estas etapas.

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda e escolha a função que deseja editar.

1. Conforme você digita no editor de código, as sugestões automáticas de código do Amazon Q são habilitadas por padrão. Para pausar as sugestões, escolha **Amazon Q** no canto inferior esquerdo do painel **Código-fonte**. A paleta de comandos é aberta na parte superior do painel Código-fonte. A partir daí, escolha **Pausar sugestões automáticas**.

Para teclas de atalho, consulte [Usar teclas de atalho com o](actions-and-shortcuts.md).

# Como usar o Amazon Q Developer com outros serviços
<a name="other-setup"></a>

## AWS Identity and Access Management permissões para outros serviços
<a name="q-dev-IAM-policies-other"></a>

 Para que o Amazon Q forneça recomendações no contexto de outro serviço, é necessário ativar as permissões de IAM corretas para o usuário ou a perfil do IAM. Você deve adicionar a permissão `codewhisperer:GenerateRecommendations`, conforme descrito no seguinte exemplo de política do IAM: 

**nota**  
O prefixo `codewhisperer` é um nome antigo de um serviço que foi fundido com o Amazon Q Developer. Para obter mais informações, consulte [Renomeação Amazon Q Developer: Resumo das alterações](service-rename.md). 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AmazonQDeveloperPermissions",
      "Effect": "Allow",
      "Action": ["codewhisperer:GenerateRecommendations"],
      "Resource": "*"
    }
  ]
}
```

------

É prática recomendada usar políticas do IAM para conceder permissões restritivas às entidades principais do IAM. Para obter detalhes sobre como trabalhar com o IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*. 

# Usar teclas de atalho com o
<a name="actions-and-shortcuts"></a>

Ao receber sugestões em linha do Amazon Q, você pode usar atalhos de teclado para ações comuns que você realiza, como iniciar o Amazon Q ou aceitar uma recomendação.

Escolha o ambiente de desenvolvimento integrado (IDE) em que você está desenvolvendo o código para ver os atalhos de teclado do seu IDE. 

------
#### [ Código do Visual Studio ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Iniciar manualmente o Amazon Q  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma recomendação  |  Tab  | 
|  Próxima recomendação  |  Arrow  | 
|  Recomendação anterior  |  Arrow para a esquerda  | 
|  Rejeitar uma recomendação  |  Pressione ESC, backspace ou continue digitando. A recomendação desaparecerá assim que houver incompatibilidade de caracteres.  | 
|  Aceitar a próxima palavra  |  Cmd \$1 seta para a direita  | 

Para alterar os atalhos de teclado no VS Code, consulte [Key Bindings for Visual Studio Code no site do VS Code](https://code.visualstudio.com/docs/getstarted/keybindings).

**nota**  
A barra de ferramentas de sugestões embutidas no VS Code está desabilitada por padrão. Para obter mais informações, consulte [Barra de ferramentas de sugestões embutidas redesenhada no site](https://code.visualstudio.com/updates/v1_75#_redesigned-inline-suggestions-toolbar) do VS Code.

------
#### [ JetBrains ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Iniciar manualmente o Amazon Q  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma recomendação  |  Tab  | 
|  Próxima recomendação  |  Arrow  | 
|  Recomendação anterior  |  Arrow para a esquerda  | 
|  Rejeitar uma recomendação  |  Pressione ESC, backspace ou continue digitando. A recomendação desaparecerá assim que houver incompatibilidade de caracteres.  | 

[Para alterar as combinações de teclas no IntelliJ, consulte os atalhos de teclado do IntelliJ IDEA no site.](https://www.jetbrains.com/help/idea/mastering-keyboard-shortcuts.html) JetBrains 

------
#### [ Eclipse ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Iniciar manualmente o Amazon Q  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma recomendação  |  Tab  | 
|  Próxima recomendação  |  MacOS: Option \$1 ] Windows: Alt \$1 ]  | 
|  Recomendação anterior  |  MacOS: Option \$1 [ Windows: Alt \$1 [  | 
|  Rejeitar uma recomendação  |  Pressione ESC, backspace ou continue digitando. A recomendação desaparecerá assim que houver incompatibilidade de caracteres.  | 

Para alterar as combinações de teclas no Eclipse, consulte [Changing the key bindings](https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftkeybindings.htm) na documentação do Eclipse.

------
#### [ Toolkit for Visual Studio ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Iniciar manualmente o Amazon Q `AWSToolkit.CodeWhisperer.GetSuggestion`nas combinações de teclas  |  Windows: Alt \$1 C  | 
|  Aceitar uma recomendação  |  Tab  | 
|  Próxima recomendação `Edit.NextSuggestion`nas combinações de teclas  |  Windows: Alt \$1 .  | 
|  Recomendação anterior `Edit.PreviousSuggestion`nas combinações de teclas  |  Windows: Alt \$1 ,  | 
|  Rejeitar uma recomendação  |  Pressione ESC, backspace ou continue digitando. A recomendação desaparecerá assim que houver incompatibilidade de caracteres.  | 

Veja também os atalhos de [teclado padrão do Visual Studio](https://visualstudio.microsoft.com/keyboard-shortcuts.pdf) da Microsoft.

Para alterar as combinações de teclas no Visual Studio, use Ferramentas -> Opções -> Teclado.

------
#### [ Amazon SageMaker AI ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Iniciar manualmente o Amazon Q  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma recomendação  |  Tab  | 
|  Próxima recomendação  |  Arrow  | 
|  Recomendação anterior  |  Arrow  | 
|  Rejeitar uma recomendação  |  ESC  | 

------
#### [ JupyterLab ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Iniciar manualmente o Amazon Q  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma recomendação  |  Tab  | 
|  Próxima recomendação  |  Arrow  | 
|  Recomendação anterior  |  Arrow  | 
|  Rejeitar uma recomendação  |  ESC  | 

------
#### [ AWS Glue Studio Notebook ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Iniciar manualmente o Amazon Q  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma recomendação  |  Tab  | 
|  Próxima recomendação  |  Arrow  | 
|  Recomendação anterior  |  Arrow  | 
|  Rejeitar uma recomendação  |  ESC  | 

------
#### [ AWS Lambda ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Obter uma sugestão de código manualmente  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma sugestão  |  Tab  | 
|  Rejeitar uma sugestão  |  Pressione ESC, espaço, role a barra em qualquer direção ou continue digitando, e a recomendação desaparecerá automaticamente.  | 

Para alterar o tamanho da amostra, use o procedimento a seguir.

1. Ao visualizar uma função específica, escolha o ícone de engrenagem para abrir a guia **Preferências**.

1. Na guia **Preferências**, selecione **Mapeamentos de teclas**.

1. Na caixa de pesquisa de atalhos de teclado, digite Amazon Q.

![\[Keybindings settings in AWS Cloud9 IDE with Amazon CodeWhisperer option highlighted.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/CWSPR-Lambda-keybinding-settings.png)


------
#### [ AWS Cloud9 ]


| Ação | Atalho de teclado | 
| --- | --- | 
|  Obter uma sugestão de código manualmente  |  MacOS: Option \$1 C Windows: Alt \$1 C  | 
|  Aceitar uma sugestão  |  Tab  | 
|  Rejeitar uma sugestão  |  Pressione ESC, espaço, role a barra em qualquer direção ou continue digitando, e a recomendação desaparecerá automaticamente.  | 

1. Ao visualizar um ambiente específico, escolha o ícone de engrenagem para abrir a guia **Preferências**.

1. Na guia **Preferências**, selecione **Mapeamentos de teclas**.

1. Na caixa de pesquisa de atalhos de teclado, digite Amazon Q.

1. Na coluna Pressão de tecla, clique duas vezes no espaço correspondente à função na qual você está interessado.

1. Insira as chaves às quais você deseja vincular a função.

![\[AWS Cloud9 interface showing Keybindings settings with options for keyboard mode and custom keybindings.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/CWSPR-C9-keybinding-settings.png)


------

# Usando referências de código
<a name="code-reference"></a>

O Amazon Q aprende, em parte, com projetos de código aberto. Às vezes, uma sugestão oferecida pode ser semelhante a um código disponível publicamente. As referências de código incluem informações sobre a fonte que o Amazon Q usou para gerar uma recomendação.

**Topics**
+ [Visualize e atualize referências de código](#show-code-reference)
+ [Ativar e desativar referências de código](#toggle-code-reference)
+ [Cancelar código com referências](#opt-out-code-reference)

## Visualize e atualize referências de código
<a name="show-code-reference"></a>

Com o log de referência, você pode visualizar referências a recomendações de código que são semelhantes à código disponível publicamente. Você também pode atualizar e editar recomendações de código sugeridas pela Amazon Q.

Escolha seu IDE para ver as etapas de como visualizar e atualizar as referências de código. 

------
#### [ Visual Studio Code ]

Para exibir o login de referência do Amazon Q no VS Code, utilize o procedimento a seguir.

1. Verifique se você está usando a versão mais recente de ambos VS Code e a extensão Amazon Q. 

1. Em VS Code, escolha **Amazon Q** na bandeja de componentes na parte inferior da janela do IDE.

   A barra de tarefas do Amazon Q é aberta na parte superior da janela do IDE. 

1. Escolha **Abrir log de referência de código**.

   A guia do log de referência de código é aberta. Todas as referências às recomendações de código são listadas.

A imagem a seguir mostra a barra de tarefas aberta do Amazon Q e a guia de log de referência de código.

![\[O login de referência do Amazon Q code no Visual Studio Code.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/VSC-coderef.png)


------
#### [ JetBrains ]

Para exibir o login de referência do Amazon Q no JetBrains IDEs, utilize o procedimento a seguir.

1. Verifique se você está usando a versão mais recente do seu JetBrains IDE e do plug-in Amazon Q. 

1. Em JetBrains, escolha **Amazon Q** na barra de status na parte inferior da janela do IDE.

   A barra de tarefas do Amazon Q é aberta acima da barra de status. 

1. Escolha **Abrir log de referência de código**.

   A guia do log de referência de código é aberta. Todas as referências às recomendações de código são listadas.

A imagem a seguir mostra a barra de tarefas aberta do Amazon Q e a guia de log de referência de código.

![\[O login de referência do Amazon Q code no JetBrains.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/JB-coderef.png)


------
#### [ Eclipse ]

Para exibir o login de referência do Amazon Q no Eclipse IDEs, utilize o procedimento a seguir.

1. Verifique se você está usando a versão mais recente do IDE do Eclipse e do plug-in do Amazon Q. 

1. No IDE do Eclipse, selecione o ícone do **Amazon Q** no canto superior direito. 

1. Com a guia de chat do Amazon Q aberta, selecione o ícone de elipse (três pontos) no canto superior direito da guia. A barra de tarefas do Amazon Q é aberta.

   A imagem a seguir mostra a barra de tarefas do Amazon Q em um IDE do Eclipse.  
![\[A barra de tarefas do Amazon Q em um IDE do Eclipse.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/eclipse-taskbar.png)

1. Escolha **Abrir log de referência de código**.

   A guia do log de referência de código é aberta. Todas as referências às recomendações de código são listadas.

------
#### [ Toolkit for Visual Studio ]

Quando o Amazon Q sugere um código que contém uma referência no Toolkit for Visual Studio, o tipo de referência aparece na descrição da sugestão.

![\[Code snippet showing a function to create a DynamoDB table with 'Products' as the table name.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/visual-studio-view-code-suggestions.png)


Todas as sugestões aceitas que contêm referências são registradas no log de referência.

Para acessar o registro de referência, escolha o AWS ícone e selecione **Abrir registro de referência de código**.

Uma lista de sugestões aceitas que contêm referências será exibida. Essa lista inclui:
+ O local em que a sugestão foi aceita. Clicar duas vezes nele levará você ao local em seu código.
+ A licença associada
+ O código-fonte referenciado
+ O fragmento de código atribuído à referência

![\[CodeWhisperer Reference Log output showing accepted recommendation with MIT license.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/vstudio-reference-log2.png)


------
#### [ AWS Cloud 9 ]

Quando você usa o Amazon Q com o AWS Cloud 9, as referências de código estão ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. No console AWS Cloud 9, no canto superior esquerdo, escolha o logotipo AWS Cloud 9.

1. Selecione **Preferências** no menu suspenso.

   No lado direito do console, a guia **Preferências** será aberta.

1. Na guia **Preferências**, em **Configurações do projeto**, em **Extensões**, selecione **Kit de ferramentas da AWS **.

1. Selecione ou desmarque **Amazon Q: Incluir sugestões com referências de código**.

------
#### [ Lambda ]

O Amazon Q no Lambda não oferece suporte a referências de código. Quando você usa o Amazon Q com o Lambda, todas as sugestões de código com referências são omitidas.

------
#### [ SageMaker AI Studio ]

Para exibir o registro de referência do Amazon Q no SageMaker AI Studio, use o procedimento a seguir.

1. Na parte inferior da janela do SageMaker AI Studio, abra o painel Amazon Q.

1. Escolha **Abrir log de referência de código**.

------
#### [ JupyterLab ]

Para exibir o login de referência do Amazon Q JupyterLab, use o procedimento a seguir.

1. Na parte inferior da JupyterLab janela, abra o painel Amazon Q.

1. Escolha **Abrir log de referência de código**.

------
#### [ AWS Glue Studio Notebook ]

Para exibir o registro de referência do Amazon Q no AWS Glue Studio Notebook, use o procedimento a seguir.

1. Na parte inferior da janela do AWS Glue Studio Notebook, abra o painel Amazon Q.

1. Escolha **Abrir log de referência de código**.

------

## Ativar e desativar referências de código
<a name="toggle-code-reference"></a>

Na maioria das vezes IDEs, as referências de código estão ativadas por padrão. Escolha seu IDE para ver as etapas de como ativar ou desativar as referências de código. 

------
#### [ Visual Studio Code ]

Quando você usa o Amazon Q com o VS Code, as referências de código estão ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. Verifique se você está usando a versão mais recente de ambos VS Code e a extensão Amazon Q. 

1. Em VS Code, escolha **Amazon Q** na bandeja de componentes na parte inferior da janela do IDE.

   A barra de tarefas do Amazon Q é aberta na parte superior da janela do IDE. 

1. Escolha **Abrir configurações**. A guia de configurações é aberta com as opções relacionadas ao Amazon Q exibidas.

1. Marque ou desmarque a caixa ao lado de **Mostrar código com referências**.

------
#### [ JetBrains ]

Quando você usa o Amazon Q com seu JetBrains IDE, as referências de código estão ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. Verifique se você está usando a versão mais recente do seu JetBrains IDE e do plug-in Amazon Q. 

1. Em JetBrains, escolha **Amazon Q** na barra de status na parte inferior da janela do IDE.

   A barra de tarefas do Amazon Q é aberta acima da barra de status. 

1. Escolha **Abrir configurações**. A janela de configurações é aberta com as opções relacionadas ao Amazon Q exibidas. 

1. Marque ou desmarque a caixa ao lado de **Mostrar código com referências**.

------
#### [ Eclipse ]

Quando você usa o Amazon Q com o Eclipse, as referências de código estão ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. Verifique se você está usando a versão mais recente do IDE do Eclipse e do plug-in do Amazon Q. 

1. Abra as **Configurações** no IDE do Eclipse.

1. Selecione **Amazon Q** na barra de navegação à esquerda.

1. Marque ou desmarque a caixa ao lado de **Mostrar código com referências**.

1. Selecione **Apply (Aplicar)** para salvar as alterações.

------
#### [ Toolkit for Visual Studio ]

Quando você usa o Amazon Q no Toolkit para Visual Studio, as referências de código são ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. Use a versão mais recente do Toolkit para Visual Studio. 

1. No Visual Studio, abra **Opções**.

1. Escolha **AWS Toolkit** na barra de navegação à esquerda e, em seguida, **Amazon Q**.

1. No menu suspenso ao lado de **Incluir sugestões com referências**, selecione Verdadeiro ou Falso.

1. Escolha **OK** para salvar as alterações.

------
#### [ AWS Cloud 9 ]

Quando você usa o Amazon Q com o AWS Cloud 9, as referências de código estão ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. No console AWS Cloud 9, no canto superior esquerdo, escolha o logotipo AWS Cloud 9.

1. Selecione **Preferências** no menu suspenso.

   No lado direito do console, a guia **Preferências** será aberta.

1. Na guia **Preferências**, em **Configurações do projeto**, em **Extensões**, selecione **Kit de ferramentas da AWS **.

1. Selecione ou desmarque **Amazon Q: Incluir sugestões com referências de código**.

------
#### [ Lambda ]

O Amazon Q no Lambda não oferece suporte a referências de código. Quando você usa o Amazon Q com o Lambda, todas as sugestões de código com referências são omitidas.

------
#### [ SageMaker AI Studio ]

Quando você usa o Amazon Q com o SageMaker AI Studio, as referências de código estão ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. Na parte superior da janela do SageMaker AI Studio, escolha **Configurações**.

1. No menu suspenso **Configurações**, escolha **Editor de configurações avançadas**.

1. No menu suspenso Amazon Q, marque ou desmarque a caixa ao lado de **Habilitar sugestões com referências de código**.

------
#### [ JupyterLab ]

Quando você usa o Amazon Q com JupyterLab, as referências de código estão ativadas por padrão.

Para desativá-los ou ligá-los novamente mais tarde, use o procedimento a seguir.

1. Na parte superior da JupyterLab janela, escolha **Configurações**.

1. No menu suspenso **Configurações**, escolha **Editor de configurações avançadas**.

1. No menu suspenso Amazon Q, marque ou desmarque a caixa ao lado de **Habilitar sugestões com referências de código**.

------
#### [ AWS Glue Studio Notebook ]

1. Na parte inferior da janela do AWS Glue Studio Notebook, escolha **Amazon Q.**

1. No menu pop-up, ative o botão ao lado de **Código com referências**.

**nota**  
As referências de código de pausa serão válidas somente durante o AWS Glue Studio Notebook atual.

------

## Cancelar código com referências
<a name="opt-out-code-reference"></a>

Em alguns IDEs, você pode optar por não receber sugestões com referências no nível do administrador.

Escolha seu IDE para ver as etapas para optar por não participar como administrador.

------
#### [ Visual Studio Code ]

Se você for administrador corporativo, poderá optar por não receber sugestões com referências de código para toda a organização. Se você fizer isso, desenvolvedores individuais em sua organização não poderão optar por voltar por meio do IDE. Esses desenvolvedores poderão marcar e desmarcar a caixa discutida na seção anterior, mas isso não terá efeito se você optar por não participar no nível corporativo.

Para optar por não receber sugestões com referências no nível corporativo, use o procedimento a seguir.

1. No console do Amazon Q Developer, escolha **Configurações**. 

1. No painel de **detalhes da conta do Amazon Q Developer**, escolha **Editar**.

1. Na página Editar detalhes, no painel **Configurações avançadas**, desmarque **Incluir sugestões com referências de código**.

1. Escolha **Salvar alterações**.

------
#### [ JetBrains ]

Se você for administrador corporativo, poderá optar por não receber sugestões com referências de código para toda a organização. Se você fizer isso, desenvolvedores individuais em sua organização não poderão optar por voltar por meio do IDE. Esses desenvolvedores poderão marcar e desmarcar a caixa discutida na seção anterior, mas isso não terá efeito se você optar por não participar no nível corporativo.

Para optar por não receber sugestões com referências no nível corporativo, use o procedimento a seguir.

1. No console do Amazon Q Developer, escolha **Configurações**. 

1. No painel de **detalhes da conta do Amazon Q Developer**, escolha **Editar**.

1. Na página Editar detalhes, no painel **Configurações avançadas**, desmarque **Incluir sugestões com referências de código**.

1. Escolha **Salvar alterações**.

------
#### [ Eclipse ]

Se você for administrador corporativo, poderá optar por não receber sugestões com referências de código para toda a organização. Se você fizer isso, desenvolvedores individuais em sua organização não poderão optar por voltar por meio do IDE. Esses desenvolvedores poderão marcar e desmarcar a caixa discutida na seção anterior, mas isso não terá efeito se você optar por não participar no nível corporativo.

Para optar por não receber sugestões com referências no nível corporativo, use o procedimento a seguir.

1. No console do Amazon Q Developer, escolha **Configurações**. 

1. No painel de **detalhes da conta do Amazon Q Developer**, escolha **Editar**.

1. Na página Editar detalhes, no painel **Configurações avançadas**, desmarque **Incluir sugestões com referências de código**.

1. Escolha **Salvar alterações**.

------
#### [ Toolkit for Visual Studio ]

Para optar por não receber sugestões com referências no nível corporativo, use o procedimento a seguir. 

1. É possível acessar a configuração de referências de código de uma duas formas:

   1. Escolha o ícone Amazon Q na borda da janela e, em seguida, escolha **Opções...**

   1. Vá para **Ferramentas** -> **Kit de ferramentas da AWS ** -> **Amazon Q**

1. Altere a opção para **Verdadeiro** ou **Falso**, dependendo se você deseja incluir sugestões com referências.

------
#### [ AWS Cloud 9 ]

O Amazon Q in AWS Cloud 9 não suporta a exclusão de sugestões de código com referências no nível corporativo.

Para optar por não participar no nível de desenvolvedor individual, consulte Alternar referências de código.

------
#### [ Lambda ]

O Amazon Q no Lambda não oferece suporte a referências de código. Quando você usa o Amazon Q com o Lambda, todas as sugestões de código com referências são omitidas.

------
#### [ SageMaker AI Studio ]

O Amazon Q não suporta a exclusão de sugestões de código com referências no nível corporativo no SageMaker AI Studio.

------
#### [ JupyterLab ]

O Amazon Q não suporta a exclusão de sugestões de código com referências no nível corporativo em JupyterLab.

------
#### [ AWS Glue Studio Notebook ]

O Amazon Q não suporta a exclusão de sugestões de código com referências no AWS Glue Studio Notebook.

------

# Exemplos de código
<a name="inline-suggestions-code-examples"></a>

O Amazon Q pode sugerir código em diferentes cenários. Para entender como isso pode ajudá-lo a escrever código na linguagem de programação de sua escolha, veja os exemplos de código a seguir.

**Topics**
+ [Usando o Amazon Q Developer para preenchimento de código de linha única](single-line-completion.md)
+ [Usando o Amazon Q Developer para geração completa de funções](full-function-generation.md)
+ [Usando o Amazon Q Developer para conclusão de blocos](code-block.md)
+ [Usando o Amazon Q Developer para conclusão de Docstring, JSDoc e Javadoc](docstring-javadoc.md)
+ [Usando o Amazon Q Developer para recomendações linha por linha](line-by-line-1.md)

# Usando o Amazon Q Developer para preenchimento de código de linha única
<a name="single-line-completion"></a>

Quando você começa a digitar um código de linha única, o Amazon Q faz sugestões com base nas entradas atuais e anteriores.

------
#### [ C\$1\$1 ]

![\[Um exemplo do atributo de preenchimento de linha única usando o C++.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/single-line-completion-c-plus.gif)


------
#### [ JavaScript ]

Neste exemplo, o Amazon Q completa uma linha de código que o desenvolvedor inicia.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/javascript_vscode_SingleLine.gif)


------
#### [ TypeScript ]

Neste exemplo, o usuário insere um comentário completo e, em seguida, a Amazon Q fornece o código que o acompanha.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/typescript_vscode_single-line.gif)


------
#### [ C\$1 ]

Neste exemplo, o Amazon Q fornece uma recomendação de linha única com base em um comentário.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/c-sharp-single-line.gif)


------
#### [ Shell ]

Na imagem abaixo, o Amazon Q oferece recomendações sobre como preencher uma única linha de código.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/jb-single-line-shell.gif)


------
#### [ Java ]

Quando você começa a digitar um código de linha única, o Amazon Q faz sugestões com base nas entradas atuais e anteriores.

No exemplo abaixo, em Java, um usuário insere a cadeia de caracteres `public` em uma classe existente.

Com base na entrada, o Amazon Q gera uma sugestão para a assinatura do método principal. 

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-c9-single-line-completion.gif)


------
#### [ Python ]

Neste exemplo, a Amazon Q recomenda uma única linha de código, com base no comentário do desenvolvedor. 

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_singleline.gif)


------

# Usando o Amazon Q Developer para geração completa de funções
<a name="full-function-generation"></a>

O Amazon Q consegue gerar uma função inteira com base em um comentário que você escreveu. Ao terminar seu comentário, o Amazon Q sugerirá uma assinatura de função. Se você aceitar a sugestão, o Amazon Q avançará automaticamente o cursor para a próxima parte da função e fará uma sugestão. Mesmo que você insira outro comentário ou uma linha de código entre as sugestões, o Amazon Q refatorará com base na entrada.

------
#### [ C ]

![\[Um exemplo do atributo de preenchimento completo da função usando C.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/full-function-completion-c-plus.gif)


------
#### [ C\$1\$1 ]

![\[Um exemplo do atributo de preenchimento completo da função usando C++.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/full-function-completion-c-plus.gif)


------
#### [ JavaScript ]

No exemplo a seguir, o usuário gera e, em seguida, edita uma função completa com base em um conjunto de comentários.

![\[Um exemplo do atributo de geração de funções completas.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/javascript_lambda_FullFunctionGeneration.gif)


Na imagem a seguir, o usuário escreveu uma assinatura de função para ler um arquivo do Amazon S3. Em seguida, o Amazon Q sugere uma implementação completa do método `read_from_s3`.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-function-read-from-s3.png)


**nota**  
Às vezes, como no exemplo anterior, o Amazon Q inclui declarações `import` como parte das sugestões. Como prática recomendada, mova manualmente essas declarações `import` para a parte superior do arquivo.

Como outro exemplo, na imagem a seguir, o usuário escreveu uma assinatura de função. Em seguida, o Amazon Q sugere uma implementação completa do método `quicksort`.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-function-quicksort.png)


Ao fazer sugestões, o Amazon Q leva em consideração trechos de código anteriores. Na imagem a seguir, o usuário do exemplo anterior aceitou a implementação sugerida para `quicksort` acima. O usuário então grava outra assinatura de função para um método `sort` genérico. O Amazon Q sugere uma implementação com base no que já foi gravado.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-function-from-context-sort.png)


Na imagem a seguir, o usuário escreveu um comentário. Com base nesse comentário, o Amazon Q sugere uma assinatura de função.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-comment-binary-search.png)


Na imagem a seguir, o usuário do exemplo anterior aceitou a assinatura de função sugerida. O Amazon Q pode então sugerir uma implementação completa da função `binary_search`.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-function-binary-search.png)


------
#### [ Java ]

A lista a seguir contém exemplos de como o Amazon Q faz sugestões e orienta você por todo o processo de criar uma função.

1. No exemplo a seguir, um usuário insere um comentário. O Amazon Q sugere uma assinatura de função.

   Depois que o usuário aceita a sugestão, o Amazon Q sugere um corpo da função.  
![\[Um exemplo de função gerada com base em um comentário.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-c9-function-from-comment.gif)

1. Na imagem abaixo, o usuário insere um comentário no corpo da função antes de aceitar uma sugestão do Amazon Q. Na linha a seguir, o Amazon Q gera uma sugestão com base no comentário.  
![\[Um exemplo de função gerada com base em um comentário dentro de um bloco de código existente.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-c9-function-from-comment-within-block.gif)

------
#### [ C\$1 ]

No exemplo a seguir, o Amazon Q recomenda uma função completa.

![\[Function declaration for ListTables with AmazonDynamoDBClient parameter in code editor.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/c-sharp-full-function.gif)


------
#### [ TypeScript ]

No exemplo a seguir, o Amazon Q gera uma função com base nas docstrings do usuário.

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/typescript_vscode_function.gif)


------
#### [ Python ]

O Amazon Q consegue gerar uma função inteira com base em um comentário que você escreveu. Ao terminar seu comentário, o Amazon Q sugerirá uma assinatura de função. Se você aceitar a sugestão, o Amazon Q avançará automaticamente o cursor para a próxima parte da função e fará uma sugestão. Mesmo que você insira outro comentário ou uma linha de código entre as sugestões, o Amazon Q refatorará com base na entrada.

No exemplo a seguir, o Amazon Q gera uma função completa e o teste de unidade correspondente.

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/python_pycharm_fullfunction_unittests.GIF)


A lista a seguir contém exemplos de como o Amazon Q faz sugestões e orienta você por todo o processo de criar uma função.

1. Na imagem abaixo, um usuário inseriu um comentário. A assinatura da função, localizada abaixo do comentário, é uma sugestão da Amazon Q.  
![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-jb-comment-062022.png)

1. Na imagem abaixo, o usuário aceitou a sugestão do Amazon Q para uma assinatura de função. Aceitar a sugestão avançou automaticamente o cursor e a Amazon Q fez uma nova sugestão para o corpo da função.  
![\[alt_text\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunctionadvance-062022.png)

1. Na imagem abaixo, o usuário insere um comentário no corpo da função antes de aceitar uma sugestão do Amazon Q. Na linha a seguir, o Amazon Q gerou uma nova sugestão com base no conteúdo do comentário.  
![\[gerando uma nova sugestão com base no conteúdo de um comentário\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-jb-commentfunction-062022.png)

Neste exemplo, a Amazon Q recomenda uma função completa após o usuário digitar parte da assinatura. 

![\[Um exemplo do atributo de função completa.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_fullfunction.gif)


------

# Usando o Amazon Q Developer para conclusão de blocos
<a name="code-block"></a>

O preenchimento do bloco é usado para preencher blocos de código `if/for/while/try`.

------
#### [ C ]

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/block-completion-c.gif)


------
#### [ C\$1\$1 ]

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/block-completion-c-plus.gif)


------
#### [ Java ]

No exemplo abaixo, em Java, um usuário insere a assinatura de uma instrução `if`. O corpo da instrução é uma sugestão do Amazon Q.

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-c9-block-completion.gif)


------
#### [ C\$1 ]

Na imagem abaixo, a Amazon Q recomenda uma forma de concluir a função.

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/c-sharp-block.gif)


------
#### [ TypeScript ]

Na imagem abaixo, a Amazon Q recomenda uma forma de concluir a função.

![\[Um exemplo do atributo de preenchimento do bloco.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/typescript_vscode_block-completion.gif)


------
#### [ Python ]

Neste exemplo, o Amazon Q recomenda um bloco de código, com base no contexto. 

![\[Um exemplo do atributo de bloco de código.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_codeblock.gif)


------

# Usando o Amazon Q Developer para conclusão de Docstring, JSDoc e Javadoc
<a name="docstring-javadoc"></a>

O Amazon Q pode ajudar você a gerar ou completar a documentação dentro do seu código.

------
#### [ C\$1\$1 ]

![\[Um exemplo do atributo de preenchimento de docstring usando C++.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/docstring-completion-c-plus.gif)


------
#### [ Javascript ]

Neste exemplo, o Amazon Q preenche os parâmetros do JSDoc com base nas constantes existentes.

![\[Um exemplo do atributo de conclusão do JSDoc.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/javascript_vscode_JSDocCompletion.gif)


------
#### [ C\$1 ]

Neste exemplo, o Amazon Q preenche os parâmetros do JSDoc com base nas constantes existentes.

![\[Um exemplo de C3 com conclusão de DocString.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/c-sharp-docstring.gif)


------
#### [ Java ]

O exemplo a seguir foi adaptado de [um exemplo no site da Oracle](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html).

Na imagem abaixo, o usuário começou a inserir uma docstring. O Amazon Q sugeriu palavras para adicionar à docstring.

![\[sugerindo uma função para completar uma docstring\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/jb-docstring-java.png)


O exemplo a seguir foi adaptado de [um exemplo no site da Oracle](https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html).

No exemplo abaixo, em Java, o usuário insere uma docstring. O Amazon Q sugere uma função para processar a docstring.

![\[Um exemplo de preenchimento de código baseado em um Javadoc.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/cw-c9-javadoc.gif)


------
#### [ Python ]

Neste exemplo, o Amazon Q recomenda uma Docstring, com base no contexto circundante. 

![\[Um exemplo do atributo Docstring.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_commentblock.gif)


------

# Usando o Amazon Q Developer para recomendações linha por linha
<a name="line-by-line-1"></a>

Conforme o caso de uso, o Amazon Q pode não conseguir gerar um bloco de função inteiro em uma recomendação. Porém, o Amazon Q ainda pode fornecer recomendações linha por linha.

------
#### [ Go and GoLand ]

Neste exemplo, o Amazon Q fornece recomendações linha por linha.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-go.gif)


Aqui está outro exemplo de recomendações linha por linha, desta vez com um teste unitário.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-unit-test-go.gif)


------
#### [ C\$1\$1 and CLion ]

Neste exemplo, o Amazon Q fornece recomendações linha por linha.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/jb-line-by-line-cpp.gif)


------
#### [ Python ]

Na imagem a seguir, o cliente escreveu um comentário inicial indicando que deseja publicar uma mensagem em um grupo do Amazon CloudWatch Logs. Nesse contexto, o Amazon Q só pode sugerir o código de inicialização do cliente na primeira recomendação, como mostra a imagem a seguir.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-line-by-line-cwlogs-1.png)


Porém, se o usuário continuar solicitando recomendações linha por linha, o Amazon Q também continuará sugerindo linhas de código com base no que já foi escrito.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-line-by-line-cwlogs-2.png)


**nota**  
No exemplo acima, `VPCFlowLogs` pode não ser o valor constante correto. À medida que o Amazon Q faz sugestões, lembre-se de renomear as constantes, conforme necessário.

O Amazon Q pode chegar a preencher todo o bloco de código, como mostra a imagem a seguir.

![\[\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/whisper-line-by-line-cwlogs-3.png)


Neste exemplo, o Amazon Q fornece recomendações, uma linha por vez.

![\[Um exemplo do atributo de preenchimento de linha única.\]](http://docs.aws.amazon.com/pt_br/amazonq/latest/qdeveloper-ug/images/python_sagemakerstudio_linebyline.gif)


------

# Idiomas compatíveis com o Amazon Q Developer no IDE
<a name="q-language-ide-support"></a>

Você pode usar os seguintes recursos do Amazon Q Developer no IDE com qualquer linguagem de programação:
+ [Chat](q-in-IDE-chat.md) 
+ [Chat em linha](q-in-IDE-inline-chat.md)

A qualidade das saídas ao usar esses recursos varia de acordo com a popularidade da linguagem.

Para os recursos restantes do Amazon Q no IDE, as linguagens compatíveis estão listadas nas seções a seguir. 

## Suporte de idioma para sugestões em linha
<a name="inline-suggestions-language-support"></a>

O Amazon Q oferece suporte a [sugestões de código em linha](inline-suggestions.md) para várias linguagens de programação. A precisão e a qualidade da geração de código para uma linguagem de programação dependem do tamanho e da qualidade dos dados de treinamento.

Em termos de qualidade dos dados de treinamento, as linguagens de programação com maior suporte são:
+ C
+ C\$1\$1
+ C\$1
+ Dart
+ Go
+ Java
+ JavaScript
+ Kotlin
+ Lua
+ PHP
+ PowerShell
+ Python
+ R
+ Ruby
+ Rust
+ Scala
+ Shell
+ SQL
+ Swift
+ SystemVerilog
+ TypeScript

As linguagens de infraestrutura como código (IaC) com o maior suporte são:
+ CDK (texto datilografado, Python)
+ HCL (Terraform)
+ JSON
+ YAML

## Suporte de linguagens para transformações
<a name="transformation-language-support"></a>

As linguagens compatíveis com transformação dependem do ambiente em que você está transformando o código.

Em JetBrains IDEs eVisual Studio Code, o Amazon Q pode transformar código nos seguintes idiomas:
+ [Java](code-transformation.md)
+  [Conversão SQL incorporada para migração de banco de dados Oracle para PostgreSQL](transform-sql.md)

No Visual Studio, o Amazon Q pode transformar código nas seguintes linguagens:
+ [C\$1 em aplicações .NET](transform-dotnet-IDE.md)

Para obter mais informações sobre linguagens compatíveis e outros pré-requisitos para transformação, consulte o tópico sobre o tipo de transformação que está realizando.

## Suporte de linguagem para revisões de código
<a name="code-reviews-language-support"></a>

O Amazon Q pode criar [revisões de código](code-reviews.md) e fornecer correções automáticas de código para arquivos e projetos escritos nos seguintes idiomas: 
+ Java ‐ Java 17 e versões anteriores
+ JavaScript ‐ ECMAScript 2021 e anteriores
+ Python ‐ Python 3.11 e versões anteriores, dentro da série Python 3
+ C\$1 ‐ Todas as versões (recomenda-se o.NET 6.0 e versões posteriores)
+ TypeScript ‐ Todas as versões
+ Ruby ‐ Ruby 2.7 e 3.2
+ Go ‐ Go 1.18 
+ C ‐ C11 e versões anteriores 
+ C\$1\$1 ‐ C\$1\$117 e versões anteriores 
+ PHP ‐ PHP 8.2 e versões anteriores 
+ Kotlin ‐ Kotlin 2.0.0 e versões anteriores 
+ Scala ‐ Scala 3.2.2 e versões anteriores 
+ JSX ‐ React 17 e versões anteriores 
+ infraestrutura como código (IaC)
  + CloudFormation ‐ 2010-09-09
  + Terraform ‐ 1.6.2 e versões anteriores
  + AWS CDK ‐ TypeScript e Python

## Suporte de linguagens para personalizações
<a name="customization-language-support"></a>

O Amazon Q oferece suporte aos seguintes idiomas e usa os tipos de arquivo listados para criar personalizações:
+ Bash/Shell (.sh, .zsh, .bash)
+ C (.c, .h)
+ C\$1 (.cs)
+ C\$1\$1 (.cpp, .hpp, .h)
+ Dart (.dart)
+ Go (.go)
+ HCL (.hcl)
+ HTML (.html, .htm)
+ Java (.java) 
+ JavaScript (.js, .js) 
+ JSON (.json)
+ Kotlin (.kt, .kts)
+ Markdown (.md, .mdx) 
+ PHP (.php)
+ Powershell (.ps1, .psm1, .psd1)
+ Python (.py) 
+ reStructuredText (.rst) 
+ Ruby (.rb)
+ Rust (.rs)
+ Scala (.scala)
+ Terraform (.tf, .tfvars)
+ Text (.txt) 
+ TypeScript (.ts, .tsx) 
+ YAML (.yaml, .yml)