Pular para o conteúdo principal
Version: v4.5.0

IntelliJ


Plugin StackSpot para IntelliJ

A StackSpot faz a integração de extensões e Plugins de IDEs para ajudar a acelerar a maneira como você desenvolve suas aplicações nas principais IDEs do mercado.

Visão Geral

O Plugin StackSpot para IntelliJ traz as capacidades do STK CLI como importar e consumir Stacks diretamente na IDE. Essa integração permite que você crie os seus projetos e se beneficie do STK CLI sem trocar de ferramenta durante o desenvolvimento, com o auxílio de uma interface intuitiva e um terminal StackSpot integrado.

Com o Plugin StackSpot você pode:

  • Importar Stacks.
  • Criar Projetos a partir das Stacks.
  • Facilidade para aplicar Plugins no seu projeto.
  • Usar o STK CLI no terminal do IntelliJ.
  • Melhor visualização de Stacks, Stackfiles e Plugins do seu projeto em um menu exclusivo.
  • Importar Stacks e aplicar Plugins sem a necessidade de usar o STK CLI diretamente.

Instalação e Setup

Requisitos

Confira os requisitos abaixo antes de instalar o Plugin da StackSpot para o IntelliJ:

  • IntelliJ IDEA 2022.1.2 ou superior.
  • STK CLI 3.6.0 ou superior.
  • Git 2.34 ou superior.

Download e Instalação

Configuração do Git

Se o seu usuário do Git não estiver configurado, o Plugin StackSpot exibe uma tela para você configurar o usuário e e-mail do seu repositório remoto. Preencha os campos Username e E-mail, confira abaixo:

Uso do Plugin StackSpot para o IntelliJ

Importar uma Stack

Passo 1. Na tela inicial do IntelliJ, clique em Project e, em seguida, New Project;
Passo 2. Em New Project no menu lateral esquerdo, clique no Plugin StackSpot;

> Durante a criação de um novo projeto, caso não exista nenhuma Stack importada o Plugin StackSpot apresenta um aviso e a opção para importar uma Stack no botão **Import Stack**. 

Passo 3. Acesse o Portal de Estúdios e copie a URL da Stack que você quer importar.
Passo 4. Clique no botão Import Stack.
Passo 5. Na janela Import Stack, cole a URL da Stack e, em seguida, clique em OK. Passo 6. Caso já exista um projeto aberto, para importar outra Stack, no menu StackSpot do lado direito clique no botão Import Stack. Em seguida, insira a URL da Stack que você quer importar.

Criar um Projeto

Após importar uma Stack, para criar o seu projeto siga os passos abaixo:

Passo 1. Na tela inicial do IntelliJ, clique em Project e em seguida New Project.
Passo 2. Em New PiJroject, clique no Plugin StackSpot, do lado esquerdo da tela em Stackfile, selecione a Stack e o Template desejados.

  • Exemplo: nome-da-stack/nome-do-template.
  • Clique em Next.
    Passo 3. Em Project name, digite o nome do seu projeto e, em seguida, clique em Create. Aguarde o projeto carregar e preencha no terminal StackSpot no IntelliJ os inputs do Template selecionado.

Aplicar um Plugin

Siga os passos abaixo:

Passo 1. Com um projeto aberto, localize no menu StackSpot a opção Available Plugins e clique sobre ela para colapsar as opções. As Stacks e os Plugins disponíveis de cada Stack serão listadas.
Passo 2. Selecione um Plugin e clique no botão Apply Plugin.

Passo 3. Se o Plugin tiver entradas (inputs), uma tela será exibida com os campos relativos aos inputs do arquivo .yaml.

Legenda
  1. Campo do tipo text.
  2. Campo do tipo multiselect.
  3. Campo do tipo text com items (lista).
  4. Campo do tipo int (permite até 8 dígitos).
  5. Campo password (valor oculto no formato: ****).
  6. Campo do tipo bool.

Confira o arquivo .yaml com os inputs da tela acima:

inputs:

- label: Input Example
type: text
name: example
default: text
required: true
help: "Inform any text (e.g: My first text input)"
pattern: "[A-Za-z]*"

- label: Choose a name
name: days
type: multiselect
items:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday

- label: Type your name
name: name
type: text
items:
- John
- Bill

- label: Enter your ID number
name: id_number
type: int

- label: Access code
name: access_code
type: password

- label: I accept the term
name: accept_term
type: bool

Passo 4 Caso seja necessário, é possível adicionar mais opções nos campos da tela, através dos inputs dentro do arquivo .yaml. Confira as opções com os exemplos de .yaml abaixo:

  • required: Indica se um campo é opcional ou não.

inputs:
- label: Input Example
type: text
name: example
required: true
  • help: Texto de apoio para o input.
inputs:
- label: Input Example
type: text
name: example
help: "Inform any text (e.g: My first text input)"
  • default: Valor padrão associado ao campo caso nenhum valor seja informado.

inputs:
- label: Input Example
type: text
name: example
default: any text
  • pattern: Configura uma validação do campo com regex.

inputs:
- label: Input Example
type: text
name: example
pattern: "[A-Za-z]*"
  • condition: Após receber um valor no campo do input, uma condição é determinada para que um segundo campo seja exibido na tela. Se a condição não for atendida, nada acontecerá.

Os valores de operadores válidos são: ==, !=,>, >=, <, <=, containsAny, containsAll, containsOnly, notContainsAny e notContainsAll.

Confira abaixo alguns exemplos dos arquivos .yamls e os valores dos operadores válidos:

  • Compara se os valores são iguais: ==
        inputs:

- label: Input Example
name: name
type: text

- label: Choose one or more days
name: days
type: multiselect
items:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
condition:
variable: name
operator: "=="
value: "weekdays"

  • Compara se um valor é igual ou maior que o outro: >=
        inputs: 
- label: Enter your ID number
name: id_number
type: int

- label: Access code
name: access_code
type: password
condition:
variable: id_number
operator: ">="
value: 1000

  • Valida se uma lista contém o valor informado no input: containsAny
        inputs:  
- label: Choose one or more days
name: days
type: multiselect
items:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday

- label: Type your name
name: name
type: text
items:
- John
- Bill
condition:
variable: days
operator: containsAny
value:
- Wednesday
- Friday

  • Valida se uma lista contém todos os valores informados no input: containsAll

        inputs:  
    - label: Choose one or more days
    name: days
    type: multiselect
    items:
    - Monday
    - Tuesday
    - Wednesday
    - Thursday
    - Friday

    - label: Type your name
    name: name
    type: text
    items:
    - John
    - Bill
    condition:
    variable: days
    operator: containsAll
    value:
    - Wednesday
    - Friday

  • Valida se uma lista contém apenas os valores informados no input: containsOnly
        inputs:  
    - label: Choose one or more days
    name: days
    type: multiselect
    items:
    - Monday
    - Tuesday
    - Wednesday
    - Thursday
    - Friday

    - label: Type your name
    name: name
    type: text
    items:
    - John
    - Bill
    condition:
    variable: days
    operator: containsOnly
    value:
    - Wednesday
    - Friday

Se um campo A tiver uma condicional do campo B que também tenha uma condicional e a condição de ambos forem satisfeitas, eles serão exibidos na tela. Mas se a condicional do campo B não for atendida, somente o campo desaparecerá da tela e, ao clicar no botão ok, uma mensagem de dependência do campo B será exibida.

        inputs:

- label: Input Example
name: name
type: text

- label: Choose one or more days
name: days
type: multiselect
items:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
condition:
variable: name
operator: "=="
value: "weekdays"

- label: Type your name
name: name
type: text
items:
- John
- Bill
condition:
variable: days
operator: containsOnly
value:
- Wednesday
- Friday

Atualizar uma Stack

Siga os passos abaixo:

Passo 1. Com um projeto aberto, localize no menu StackSpot a opção Imported Stacks e clique sobre ela para colapsar as opções. As Stacks importadas serão listadas.
Passo 2. Selecione uma Stack e clique no botão Update Stack.

Deletar uma Stack

Siga os passos abaixo:

Passo 1. Com um projeto aberto, localize no menu StackSpot a opção Imported Stacks e clique sobre ela para colapsar as opções. As Stacks importadas serão listadas.
Passo 2. Selecione uma Stack e clique no botão Delete Stack.

Leia também

Esta página foi útil?