Package Control

Como vimos no capítulo Pacotes, o Package Control é o gerenciador dos pacotes instalados no Sublime Text. Apesar de não ter sido uma iniciativa original do criador do Sublime Text, o Package Control acabou se tornando o repositório oficial de distribuição de pacotes. Sua função é facilitar a descoberta, instalação e atualização dos pacotes para Sublime Text criados por desenvolvedores de todo o mundo (Figura 39). Portanto, instalar o Package Control geralmente é a primeira coisa a se fazer após instalar o Sublime Text.

Algumas estatísticas de uso do Package Control

Fig. 39 Algumas estatísticas de uso do Package Control (Fonte: http://packagecontrol.io/stats)

Instalação

Instalação manual

A instalação manual consiste em baixar o Package Control – que por sua vez também é um pacote – e copiá-lo na pasta adequada:

  1. Acesse o item de menu Preferences | Browse Packages…

  2. Navegue para a pasta que está um nível acima

  3. Entre na pasta Installed Packages

  4. Baixe o arquivo Package Control.sublime-package [1]

  5. Copie o arquivo na pasta Installed Packages

  6. Reinicie o Sublime Text

Instalação via script

Instalar o Package Control manualmente é relativamente fácil e funciona bem, mas a maneira recomendada de colocar o Package Control na sua instalação do Sublime Text é ainda mais simples: executar um pequeno script no console do Sublime Text.

  1. Acesse o console do Sublime, por meio do atalho Ctrl+' ou do menu View | Show Console

  2. Uma vez no console, você deve colar um dos trechos de código disponíveis na página oficial, a depender da versão do Sublime que você está usando (figuras 40 e 41)

  3. Reinicie o Sublime Text

O que este script Python acaba de fazer é simplesmente acessar a URL de download do arquivo Package Control.sublime-package e copiá-lo no caminho da pasta padrão Installed Packages.

Script para instalação do Package Control no |ST| 3

Fig. 40 Script para instalação do Package Control no Sublime Text 3

Colando o script de instalação do Package Control no console do |ST|

Fig. 41 Colando o script de instalação do Package Control no console do Sublime Text

Utilização

Após a instalação, todas as operações de instalação e manutenção de pacotes adicionais devem ficar a cargo do Package Control. Para conhecer os comandos e opções disponíveis, acesse o menu Preferences | Package Control (figura 42). Em seguida, vamos explorar em detalhes o modo de usar o gerenciador de pacotes.

Uma vez instalado, a forma mais prática de acionar os comandos do Package Control é usar o Command Palette:

  1. Acione o Command Palette com Ctrl+Shift+P

  2. Comece a digitar “package control” na caixa de texto

  3. Selecione um dos comandos disponíveis

Conhecendo os comandos do Package Control

Add Channel

Adiciona um novo canal à instalação do Sublime Text. Um canal é uma URL na qual o Package Control tem acesso a uma lista de repositórios.

Add Repository

Adiciona um novo repositório à instalação do Sublime Text. Um repositório é uma URL na qual o Package Control obtém o arquivo JSON de um pacote.

Disable Package

Desabilita um pacote temporariamente. Pode ser útil quando, por acaso, algum pacote esteja causando algum tipo de problema ou instablidade no funcionamento do Sublime Text.

Discover Packages

Abre uma janela do browser no site oficial do Package Control.

Enable Package

Habilita pacotes que foram previamente desabilitados.

Install Package

Lista os pacotes disponíveis para instalação e em seguida instala o pacote selecionado.

List Packages

Lista todos os pacotes instalados.

Remove Package

Remove um pacote.

Upgrade Package

Procura por novas versões dos pacotes instalados e atualiza o pacote selecionado.

Create Package File

Cria um arquivo de pacote do tipo .sublime-package comum.

Grab CA Certs

Obtém o certificado da autoridade certificadora de um nome de domínio, permitindo a um usuário obter pacotes de outras fontes que não aquelas utilizadas pelo canal default.

Create Binary Package File

Cria um arquivo de pacote do tipo .sublime-package que não inclui o código-fonte, apenas os binários.

Upgrade/overwrite All Packages

Atualiza todos os pacotes instalados

Configuração

A configuração do Package Control segue a mesma linha do próprio Sublime Text de usar arquivos JSON para armazenar as preferências.

Portanto, para modificar as configurações do Package Control você já sabe como é:

  1. Vá em Preferences | Package Settings | Package Control | Settings - Default

  2. Copie as linhas correspondentes às configurações desejadas

  3. Cole-as no arquivo que pode ser acessado em Preferences | Package Settings | Package Control | Settings - User

  4. Faça as modificações necessárias

  5. Salve o arquivo.

Opções de configuração do Package Control

debug

Quando ativada, esta opção faz com que sejam exibidos os cabeçalhos HTTP além de outras informações sobre o funcionamento do Package Control no console do Sublime Text. Essa opção serve para quando se quer descobrir a causa de algum eventual problema na operação do Package Control.

submit_usage

Define se as informações sobre instalações, atualizações e remoções de pacotes devem ser reportadas de volta para o Package Control, a fim de compor as estatísticas de uso. Nenhuma informação que possa identificar o usuário é enviada.

submit_url

URL para qual as informações de uso serão enviadas, caso a opção acima esteja ativada.

installed_packages

Lista dos pacotes que foram instalados. Se alguma pacote da lista não estiver instalado, o Package Control vai instalá-lo automaticamente. Esta opção só existe no arquivo Seetings - User e pode ser útil nos casos em que queremos compartilhar a nossa lista de pacotes com outros usuários.

channels

Um canal é uma URL que aponta para um arquivo JSON que, por sua vez contém uma lista de repositórios. Esta opção é uma lista de canais que são acrescentados após os repositórios que estão na opção repositories.

repositories

Lista de URLs que contém um arquivo JSON de pacotes (repositório). Estes repositórios são acrescentados antes dos canais da opção channels.

install_prereleases

Lista de pacotes para os quais é permitido instalar versões pre-release. Para uma versão ser considerada pre-release seu número de versão deve conter o sufixo -prerelase.

package_name_map

Normalmente o nome de um repositório deve ser o mesmo do pacote correspondente. Quando isto não acontece, podemos usar esta opção para fazer o mapeamento correto. Esta situação é mais comum quando usamos repositórios do GitHub ou BitBucket.

auto_upgrade

Define se deve ocorrer a verificação automática de atualizações dos pacotes instalados via Package Control quando o Sublime Text é iniciado.

auto_upgrade_frequency

Define o número de horas de intervalo entre as checagens de atualização dos pacotes. O padrão é a cada 6 horas.

auto_upgrade_ignore

Lista de pacotes que não devem ser atualizados automaticamente.

install_missing

Define se os pacotes que estão listados em installed_packages devem ser instalados automaticamente caso não estejam presentes na máquina.

timeout

Tempo de expiração (em segundos) da requisição HTTP utilizada para baixar os canais, repositórios ou pacotes.

cache_length

Número de segundos durante o qual devem ser mantidos os metadados do canal e do repositório.

http_cache

Define se as repostas às requisições HTTP devem ser mantidas em cache.

http_cache_length

Número de segundos durante o qual as respostas às requisições HTTP devem ser mantidas em cache.

http_proxy

Endereço do proxy que deve ser utilizado para as requisições HTTP. Deve ser no formato domínio:porta ou endereço-ip:porta.

https_proxy

Endereço do proxy que deve ser utilizado para as requisições HTTP. Deve ser no formato domínio:porta ou endereço-ip:porta. Se a opção http_proxy tiver algum valor e esta estiver vazia, será considerada a primeira também para requisições HTTPS.

proxy_username

Identificador do usuário utilizado para autenticação no proxy.

proxy_password

Senha utilizada para autenticação no proxy.

user_agent

Valor do cabeçalho HTTP user-agent utilizado para fazer os downloads.

git_binary

Quando um pacote contém um diretório de metadados do Git (.git) e este não é detectado automaticamente no sistema, a opção git_binary serve para indicar o path do git.

git_update_command

Parâmetros a serem passados para o git para atualizar um pacote.

hg_binary

Quando um pacote contém um diretório de metadados do Mercurial (.hg) e este não é detectado automaticamente no sistema, a opção hg_binary serve para indicar o path do Mercurial.

hg_update_command

Parâmetros a serem passados para o hg (Mercurial) para autalizar um pacote.

ignore_vcs_packages

Define se os repositórios git ou hg devem ser ignorados ao atualizar os pacotes.

downloader_precedence

Define quais os mecanismos de download que devem ser utilizados pelas requisições. As opções são divididas por sistema operacional, de modo que seja mais fácil compartilhar as configurações. Os mecanismos disponíveis são “urllib”, “curl”, “wget” e “wininet” (apenas para Windows).

dirs_to_ignore

Ao criar um pacote no formato de arquivo .sublime-package, as pastas que estão nesta lista não serão incluídas.

files_to_ignore

Os arquivos que estão nessa lista serão ignorados ao criar pacotes do tipo .sublime-package por meio do comando Create Package.

files_to_include

Os arquivos nessa lista são incluídos na criação de pacotes com o comando Create Package, sobrescrevendo o que estiver definido em files_to_include.

package_destination

Define para qual pasta deve ser copiado um pacote recentemente criado. Caso não seja definido, o padrão é copiá-lo para o desktop do usuário.

Nota

É importante saber que, caso esse valor seja definido como sendo o diretório Installed Packages, isso fará com que as mudanças realizadas no código-fonte do pacote serão sobrescritas toda vez que o Sublime Text for reiniciado.

package_profiles

Esta opção faz com que seja possível criar diferentes perfis de empacotamento para diferentes tipos de pacotes, como pacotes destinados a diferentes plataformas ou somente binários.

enable_tests

Habilita a capacidade de executar os testes existentes para o pacote (apenas para desenvolvimento).


Comandos do Package Control

Fig. 42 Comandos do Package Control