Obter sugestões de código
watsonx Code Assistant
Gere sugestões de código usando conversas de bate-papo ou completando o código no editor.
Uso de conversas de bate-papo
Digite um prompt que explique o código de que você precisa e watsonx Code Assistant gera algo que você pode optar por usar.
- Para iniciar uma nova conversa de bate-papo, clique no ícone Novo bate-papo
.
- Fazer uma pergunta ou dar uma instrução.
- Clique no ícone Send (
). O site Watsonx Code Assistant envia sua entrada para o modelo de código e mostra a resposta no bate-papo.
Selecione a mensagem em que watsonx Code Assistant gerou o último bom resultado e continue a conversa a partir daí em um novo bate-papo.
- Para usar uma mensagem anterior ou uma mensagem existente em um novo bate-papo, clique no ícone Iniciar novo bate-papo
.
- Fazer uma pergunta ou dar uma instrução.
- Clique no ícone Send (
). O site Watsonx Code Assistant envia sua entrada para o modelo de código e mostra a resposta no bate-papo.
Transferência de código entre o bate-papo e o editor
Quando você recebe uma sugestão de código que deseja usar, pode inserir um bloco de código do bate-papo em seu editor.
- Posicione seu cursor no editor.
- No chat, clique no ícone Inserir no cursor
.
Se você tiver um código no editor que deseja usar como contexto no bate-papo, poderá copiá-lo para o bate-papo.
- Destaque o código no editor.
- Clique com o botão direito do mouse para exibir o menu pop-up.
- Escolha watsonx Code Assistant.
- Selecione Adicionar código selecionado ao bate-papo.
Uso de linguagem natural
Cada mensagem de bate-papo faz parte de uma conversa de bate-papo. Mantenha as conversas concentradas em um assunto ou tarefa específica. Quando você mudar seu contexto para outra linguagem de programação, outro projeto em seu espaço de trabalho ou uma tarefa de programação diferente, crie uma nova conversa de bate-papo. Você obtém resultados mais relevantes para suas perguntas.
Exemplos:
Create a Python class Customer. Include attributes for firstName, lastName and age.Create a JavaScript function that fetches data from a REST API endpoint, dynamically populates an HTML table with the results, and updates the UI asynchronously
Usando a biblioteca de prompt
Watsonx Code Assistant inclui uma biblioteca de prompts que contém um conjunto de solicitações comuns de codificação em linguagem natural. Você pode usá-las como estão em seu bate-papo ou modificá-las para seu caso de uso.
Para acessar a biblioteca de prompts:
- Clique no ícone Abrir
.
- Clique em Prompt library para abri-la.
- Clique no ícone Copiar para a área de
.
- Clique novamente em Prompt library para fechá-la.
- Cole o prompt no bate-papo.
Escrever mensagens de bate-papo eficazes
Para obter os melhores resultados em sua conversa:
- Escreva suas mensagens de bate-papo em inglês.
- Comece com uma instrução simples e clara.
- Use as mensagens de bate-papo subsequentes para refinar a saída do código do modelo.
- Seja o mais específico e detalhado possível em cada etapa. Você pode aprimorar gradualmente o código criado por meio de mensagens de bate-papo subsequentes.
- Use referências a arquivos e métodos em sua mensagem para fornecer contexto relevante. Por exemplo, se você quiser que o modelo crie um método que seja semelhante a outro método, adicione "
similar to @<method>à sua mensagem. - Se as respostas se tornarem menos relevantes, ou se você iniciar uma nova tarefa, crie uma nova conversa de bate-papo e trabalhe a partir daí. É melhor ter várias conversas de bate-papo curtas, cada uma com um contexto específico, em vez de uma conversa grande que pode confundir o modelo com mensagens de bate-papo diferentes e não relacionadas.
Referenciar código em seu espaço de trabalho
Para fazer perguntas ou refinar um arquivo, classe, função ou método específico em seu espaço de trabalho local, você pode usar uma referência de código. Essas referências fornecem um contexto importante e podem ajudar a aumentar a precisão da resposta.
- Digite o símbolo "
@como parte de sua mensagem de bate-papo para ver uma lista de arquivos, classes e métodos de seu espaço de trabalho. - Filtre a lista digitando os caracteres do nome do arquivo, da classe ou do método que você deseja referenciar.
- Clique para selecionar a referência. Watsonx Code Assistant envia o conteúdo da referência como parte de sua mensagem.
As entradas em .gitignore não estão incluídas como opções de referência de código. Se você tiver dados confidenciais, como arquivos .env, certifique-se de adicioná-los a .gitignore.
Quando você abre uma pasta do espaço de trabalho local, o watsonx Code Assistant cria um índice desses itens na memória para que você possa fazer referência a esses arquivos e funções no chat. O editor também indexa os arquivos que você adiciona ou altera durante a sessão. O índice contém até 1.000 dos arquivos mais recentes nessas linguagens de programação:
- C
- C++
- Acessar
- Java
- JavaScript
- Python
- TypeScript
A indexação de arquivos funciona somente em repositórios locais.
Quando você faz referência a um método ou usa CodeLens em um método, watsonx Code Assistant oferece suporte a determinadas linguagens de código. A referência a um arquivo completo funciona em todos os idiomas. Para obter mais informações, consulte Suporte ao idioma quando você trabalha com métodos.
Quando você faz referência a um arquivo, o limite de tamanho é de 50 KB. Se você atingir esse limite, divida o arquivo em funções individuais e faça referência a cada função. Ou, divida o arquivo em 49 KB, cuidando dos limites da função, e faça referência ao arquivo em cada divisão. Em qualquer uma das abordagens, você precisa mesclar os resultados.
Casos de uso com exemplos que fazem referência ao código:
| Caso de uso | Exemplo de mensagem |
|---|---|
| Gerar uma função com base em uma função existente | Criar um método ' send_translate_message que seja semelhante a @send_code_explanation_message |
| Gerar um teste de unidade que siga os testes de unidade existentes | Crie um teste de unidade para @getName que seja semelhante aos testes de unidade em @testLoadTablesChildConnectionReceiverJob.h |
| Aprimorar as funções existentes | Adicionar tratamento de erros e declarações de registro a @format_documents |
| Aprimorar as funções existentes | Atualizar @setEmail com tratamento de erros para cadeias de caracteres nulas |
| Explicar o código | O que o @mainmain.py faz |
| Explicar o código | Explicar a lógica de @send_invoice |
| Gerar documentação para funções e classes | Adicionar JavaDoc a @Customer |
Geração aumentada de recuperação
Plano Standard
Com o plano Standard, sua organização pode configurar a geração aumentada de recuperação (RAG), que é o processo de otimização da saída do modelo de linguagem grande (LLM) por meio do aumento do prompt com o contexto adicional. Para obter mais informações, consulte Configuração da geração aumentada de recuperação(RAG).
Se você enviar uma consulta, o site watsonx Code Assistant usará as ferramentas RAG para recuperar as informações de suas bases de código ou documentação. Esse contexto relevante é anexado à consulta antes de ser enviado ao modelo LLM. O sistema RAG determina as fontes que precisam ser incluídas ou excluídas para gerar uma resposta com as informações mais úteis.
A RAG exige o plano watsonx Code Assistant Standard e a extensão Visual Studio Code. Ele não está disponível para uso com o plug-in Eclipse.
Quando o RAG estiver ativado para seus repositórios Git, digite @repo < instruction > ou @docs < instruction > em conversas de bate-papo para gerar uma resposta que use o contexto do repositório referenciado
ou documentos no armazenamento de vetores. Substitua o parâmetro < instruction > por uma mensagem de prompt.
-
Exemplo de sintaxe para usar o repositório de base de código referenciado:
@repo how is a chat message processed? -
Exemplo de sintaxe para usar a coleção de documentos referenciados:
@docs What are the steps to setup a connection to the user data store?
Usando comandos de bate-papo
Comandos de bate-papo que você pode usar para executar determinadas tarefas:
| Comando | Descrição | Para obter mais informações |
|---|---|---|
/document |
Gerar documentação para um arquivo referenciado, um método ou uma classe no espaço de trabalho ativo | Geração de documentação |
/docs |
Faça perguntas que façam referência à documentação dos produtos IBM e Red Hat | Obtendo respostas da documentação IBM |
/explain |
Use IA generativa para analisar e resumir seu código para entender o que ele faz | Explicação do código |
/help |
Obter assistência rápida sobre tarefas | Digite " /help no bate-papo |
/unit-test |
Gerar testes unitários para várias linguagens de programação | Geração de testes unitários |
/translate |
Traduzir código de um idioma para outro | Tradução de código |
@repo |
Para uso com a geração aumentada de recuperação (RAG) | Ativação do RAG |
@docs |
Para uso com a geração aumentada de recuperação (RAG) | Ativação do RAG |
Gerenciar sessões de conversas de bate-papo
Você pode usar o menu Sessões de bate-papo para gerenciar as sessões de conversa de bate-papo existentes.
Para abrir o menu:
- Clique no ícone Abrir
.
- Clique em Sessões de bate-papo.
Alternar sessões de conversa de bate-papo
Para alternar entre sessões de conversas de bate-papo, selecione a sessão na lista de sessões de bate-papo.
Renomear uma sessão de bate-papo
Para renomear uma sessão de conversa de bate-papo:
- Na sessão de bate-papo, clique no ícone do menu de estouro
.
- Clique em Renomear.
- Digite o novo nome e pressione Enter.
Exclusão de sessões de bate-papo
Para excluir uma única sessão de conversa de bate-papo:
- Na sessão de bate-papo, clique no ícone do menu de estouro
.
- Clique em Excluir.
Para excluir várias sessões de conversas de bate-papo:
- Clique no ícone Selecionar ch ats
.
- Selecione os bate-papos que deseja excluir ou clique em Selecionar tudo.
- Clique no ícone de exclusão
e, em seguida, clique no botão Excluir para confirmar.
Conclusão do código no editor
Obtenha sugestões de código inserindo código ou comentários em seu editor.
Usando o editor no Eclipse
Para C, C++, Go, JavaScript, Python e TypeScript:
- Clique com o botão direito do mouse no arquivo.
- Clique em Abrir com e, em seguida, clique em Editor de texto.
Para Java, a geração de código em linha com o Editor Java no Eclipse IDE é compatível com watsonx Code Assistant, mas primeiro precisa ser configurada.
-
Vá para Content Assist nas configurações Eclipse.
Navegação para o Content Assist Sistema operacional Caminho MacOS Eclipse > Configurações > Java > Editor > Assistente de conteúdo Windows Janela > Preferências > Java > Editor > Assistente de conteúdo -
Na seção Inserção, desmarque Inserir propostas únicas automaticamente.
-
Na seção Auto Activation (Ativação automática ), adicione "
._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZaos acionadores de ativação automática para Java e confirme se a opção Enable auto activation (Ativar ativação automática ) está marcada. -
Clique em Aplicar e Fechar.
Conclusão de linha única
Ao escrever uma linha de código em seu editor, watsonx Code Assistant pode sugerir um código para completá-la.
- Comece a digitar uma linha de código e, em seguida, faça uma pausa.
- Watsonx Code Assistant adiciona uma sugestão de código para completar a linha que você digitou.
- No Visual Studio Code, pressione Tab para aceitar a sugestão. No Eclipse, pressione Return ou Enter para aceitar a sugestão. Ou pressione Esc para rejeitar.
Conclusão de várias linhas
Você pode obter uma sugestão de código de várias linhas com base em uma linha de código ou em um comentário que você inserir.
-
Comece a digitar uma linha de código ou insira um comentário que descreva o código que você deseja.
Para obter melhores resultados, inclua a linguagem de programação esperada em seu comentário, por exemplo:
// Sort an array with a fast sort function (TypeScript programming language) -
Use um atalho de teclado.
Atalhos de teclado padrão Sistema operacional Atalho MacOs Opção+. Windows Alt+. -
Watsonx Code Assistant adiciona uma sugestão de código de várias linhas.
-
No Visual Studio Code, pressione Tab para aceitar a sugestão. No Eclipse, pressione Return ou Enter para aceitar a sugestão. Ou pressione Esc para rejeitar.
Desativação do recurso autocompletar código para linguagens de código específicas
Se necessário, você pode usar a configuração Completion: Disabled Languages para a extensão Visual Studio Code para desativar o recurso autocompletar código para idiomas de código específicos.
-
Abra as configurações da extensão watsonx Code Assistant.
-
Clique em Adicionar item para selecionar um idioma de código. As opções são:
Linguagens de código Escolha Linguagem de código cC cppC++ goAcessar javaJava javascriptJavaScript javascriptreactJavaScript Reagir pythonPython typescriptTypeScript typescriptreactTypeScript Reagir
Para reativar um idioma de código, você pode removê-lo da lista.
-
Clique no idioma do código na lista.
-
Clique no ícone Remover item Ícone
para removê-lo da lista de idiomas desativados.
Alteração dos atalhos do teclado
Você pode alterar os atalhos de teclado se as combinações padrão já estiverem atribuídas a outras tarefas.
Para alterar os atalhos de teclado no Visual Studio Code:
- Clique no menu Código.
- Selecione Configurações.
- Selecione Atalhos de teclado.
- Pesquisar por '
watsonx. - Para o atalho que você deseja alterar, clique no ícone de lápis de edição Change Keybinding e atribua uma combinação de teclas diferente.
Para alterar os atalhos de teclado no Eclipse:
- Clique no Eclipse menu.
- Selecione Configurações.
- Digite '
Keyspara filtrar as configurações e clique em Keys (Chaves). - Digite "
WCApara filtrar a lista. - Selecione o atalho de teclado que você deseja alterar.
- No campo Binding (Vinculação ), digite uma nova combinação de teclas.
Desativar o recurso autocompletar código
Se necessário, você pode desativar o preenchimento de código na janela do editor.
Para desativar o recurso autocompletar código no Visual Studio Code:
- No canto inferior direito do editor, clique nas
do ícone Disable watsonx Code Assistant Completions (Desativar conclusões do ).
- Você pode reativar as conclusões clicando novamente no ícone Ativar conclusões watsonx Code Assistant.
Para desativar o recurso autocompletar código no Eclipse IDE:
- Na barra de ferramentas do editor, clique no ícone Desativar conclusões watsonx Code Assistant.
- Você pode reativar as conclusões clicando novamente no ícone Ativar conclusões watsonx Code Assistant.
Práticas recomendadas para gerar sugestões de código
Use estas dicas para obter os melhores resultados.
Use o bate-papo para blocos de código mais longos. Use a geração de código no editor para refinamento e código boilerplate.
Use o bate-papo para:
- Gerar um esboço de uma aula
- Especificar um método em detalhes
- Refinar o código sugerido com mais instruções (por exemplo, renomear ou substituir)
Use a geração de código no editor para:
- Complete a linha de código que você começou a digitar
- Criar automaticamente código padrão, como getters e setters
- Crie métodos e códigos que possam ser descritos com uma única linha de comentário
Comment-to-code: use comentários descritivos, não instruções
Ao usar o comment-to-code no editor, escreva um comentário que descreva o comportamento pretendido, da mesma forma que você escreve comentários para o código que escreveu. Por exemplo, use " //return even numbers from an arraylist ou " //method that returns even numbers from an arraylist.
Não escreva seu comentário como uma instrução, como " //write a method that returns even numbers from an arraylist. Watsonx Code Assistant usa modelos que são treinados para completar o código em dados que contêm muitos comentários
típicos e descritivos, de modo que esses tipos de comentários produzem melhores resultados.
Contexto usado para geração de código no editor
O principal ingrediente para a geração de código é o contexto, ou seja, o código circundante que você passa para o modelo. Para a geração de código no editor, watsonx Code Assistant usa:
- As 20 linhas de código antes da linha em que a geração é acionada.
- As 20 linhas de código após a linha em que a geração é acionada.
- Até 200 linhas a partir do início do arquivo atual, onde a geração é acionada.
- Até 5 trechos de código que são semelhantes ao código que circunda a linha em que a geração foi acionada. Esses trechos são extraídos dos últimos 10 arquivos que você abriu na mesma linguagem de programação do arquivo atual.
Para melhorar os resultados da geração de código no editor:
- Abra arquivos em seu espaço de trabalho que tenham código que você deseja que watsonx Code Assistant conheça. Watsonx Code Assistant tenta encontrar nesses arquivos o código que é semelhante àquele em que você aciona a conclusão, por exemplo, métodos que usam classes e variáveis semelhantes e, em seguida, envia esse código para o modelo como contexto.
- Ajude watsonx Code Assistant iniciando com uma definição de classe ou adicionando instruções de importação, ou use o bate-papo watsonx Code Assistant para criar o esboço inicial, copie o resultado em um arquivo em seu espaço de trabalho e continue com a geração de código no editor. Não use a geração de código no editor quando começar com arquivos zero ou quase vazios, pois essas condições não fornecem contexto suficiente.