Arquivo da tag: sublime text

Guia para os atalhos de teclado do Sublime Text

Guia para os atalhos de teclado do Sublime TextTodo mundo que usa o computador para trabalhar durante muitas horas por dia já deve ter notado que um dos segredos para ser mais produtivo é tirar as mãos do teclado o menos possível. Aprender a digitar direito, eliminando alguns vícios adquiridos ao longo dos anos, também ajuda bastante.

Quando falamos do Sublime Text, então, a importância de aprender a usar os atalhos de teclado, ao invés de perder tempo alcançando o mouse, fica ainda mais evidente. O Sublime Text tem atalhos de teclado para quase tudo mas, quando se está iniciando, às vezes é um pouco difícil descobri-los e memorizá-los. Para facilitar a tarefa, seguem algumas dicas:

Dedique alguns minutos para explorar os menus

Vasculhar os menus quando não se está procurando por nenhum comando específico é muito útil para descobrir novos recursos. Em muitos casos, os atalhos de teclado são mostrados ao lado de cada item. Algo que também costumo fazer quando quero aprender os atalhos de alguma ferramenta é me forçar a procurar pelo comando desejado no menu, usando o mouse – para me lembrar de quanto é inconveniente, e por isso tenho que aprender o atalho o quanto antes – ver qual é o atalho e depois fechar o menu e usar o teclado. Faço isso toda vez que preciso executar o comando, até memorizar.

Utilize a Command Palette

Após se familarizar com os menus, comece a usar a Command Palette (Ctrl+Shift+P) para tudo. Com ela você poderá ter acesso a quase todos os comandos sem precisar alcançar o mouse, mesmo se não lembrar o atalho. Ao chamar a Command Palette, aparecerá uma lista de seleção com o recurso de autocompletar. Depois é só começar a digitar algumas letras da descrição do comando até encontrá-lo e pressionar Enter. Lembrando que, em muitos casos, o atalho específico de cada comando também aparece na Command Palette.

Vasculhe os arquivos de configuração

Se ainda não achou o atalho que você queria, nem nos menus, nem na Command Palette, não se desespere. O pulo do gato nesse caso é “partir pra ignorância” e ir fuçar nos arquivos de configuração do Sublime Text:

  1. Clique no… (oops!) Ative a Command Palette e digite “keybindings default” para abrir o arquivo de configuração de atalhos padrão para seu sistema operacional. Lá são definidos todos os atalhos de teclado padrão.
  2. Procure por um trecho de alguma palavra que descreva o comando desejado. Como não existem descrições textuais de cada ação, pode não ser tão simples encontrar na primeira tentativa, mas se um atalho existe, ele estará lá.

Por exemplo, quando precisamos achar o atalho para duplicar uma linha, basta começar a procurar (Ctrl+F) no arquivo de configuração por “duplicate” e logo aparece a linha:

{ "keys": ["ctrl+shift+d"], "command": "duplicate_line" },

E eis aí nosso atalho: Ctrl+Shift+D.

E os atalhos para comandos dos plugins instalados?

Os comandos dos plugins muitas vezes não aparecem no menu nem na Command Palette. Descobri-los vai exigir um pouco do seu Sherlock Holmes interior, mas não é nenhum bicho de sete cabeças. Como todos os atalhos de teclados estão definidos em arquivos no formato JSON de fácil leitura, você vai precisar fazer o seguinte:

  1. Abrir a Command Palette.
  2. Digitar “Browse Packages”.
  3. Procurar e abrir a pasta com o nome do plugin cujo atalho para o comando você quer descobrir.
  4. Procurar e abrir o arquivo de configuração de atalhos, que possui a extensão sublime-keymap. Lá estão todos os atalhos do plugin, é só procurar pelo que você precisa.

Sublime Text Dicas - Artigos, tutoriais e dicas em português


Atualização: Para conhecer mais dicas em português sobre o Sublime Text, visite meu outro site Sublime Text Dicas!


Conhece alguma outra dica de atalho do Sublime Text? Compartilhe com a gente nos comentários.

Referência: dicas de Josh Earl, autor de Sublime Productivity.

Plugins do Sublime Text para desenvolvimento WordPress

Plugins do Sublime Text para desenvolvimento WordPressDurante os últimos dois anos, o Sublime Text vem se estabelecendo como um dos editores de texto mais populares entre programadores, designers e usuários avançados em geral. Sua flexibilidade e riqueza de recursos o tornam uma ferramenta completa e versátil.

Como não poderia deixar de ser, logo surgiu uma infinidade de plugins e extensões do Sublime Text para o desenvolvimento na plataforma do WordPress, um CMS que dispensa maiores apresentações. Seguem uma lista com alguns plugins que podem facilitar bastante a vida dos desenvolvedores e integradores WordPress:

Sublime Text Snippet Library For WP

Traz atalhos para vários trechos de código (snippets), que economizam tempo na hora de lembrar e digitar.

Plugins do Sublime Text para desenvolvimento WordPressWordPress New Project Config

Na verdade este não chega a ser um plugin, mas sim um script que tem como objetivo poupar a chateação de todas as tarefas repetitivas que é preciso realizar toda vez que você inicia um novo projeto WordPress. Depois de fazer coisas como: perguntar o nome do novo projeto, criar uma pasta para o projeto, instalar o build mais recente do WordPress, apagar os temas padrão que não serão utilizados, entre outras tarefas, o script inicia o Sublime Text com o novo projeto pronto para começar o desenvolvimento.

Genesis

Outra coleção de snippets, desta vez mais voltada para o desenvolvimento de temas usando o framework Genesis

Search WordPress Codex

Este plugin permite realizar buscas na referência oficial do WordPress sem precisar sair do editor. Após instalado, basta dar um Ctrl + Shift + P e digitar WordPress Codex, ou clicar com o botão direito em qualquer função e selecionar WordPress Function Reference.

Sublime Text 2 WordPress

Este pacote de trechos de código traz os snippets para WordPress do bundle original para o TextMate.

Referência: WordPress Extensions for Sublime Text 2 (Speckyboy Design Magazine)

Qual a melhor IDE para Python?

Há alguns dias, o post IDEs Are a Language Smell causou furor em pelo menos três listas de discussão das quais participo (sem contar em outros fóruns ao redor do mundo). Entre mortos, feridos e o fogo cruzado de acusações de arrogância, salvaram-se todos. O lado bom da polêmica foi que o pessoal da comunidade Python Brasil ficou motivado para atualizar a página do wiki sobre IDEs para Python. Aliás, não se passa uma semana sem que um iniciante faça essa pergunta – completamente legítima por sinal – na lista de discussão: Qual a melhor IDE para programar em Python?

Qual a melhor IDE para programar em Python?

Essa simples indagação costuma despertar a ira de algumas pessoas. Acredito que menos pela pergunta em si do que pela enxurrada de respostas nas quais cada um indica a sua IDE/editor favorito. Não clique aqui.

Na minha opinião, a melhor resposta para a maior parte desse tipo de pergunta “teimosa” e polêmica, em qualquer área do conhecimento humano, é o bom e velho…

— DEPENDE.

O que você realmente quer é usar “a melhor” IDE ou somente quer saber o que os programadores um pouco mais experientes usam? Python é sua primeira linguagem ou você vem de uma cultura de plataformas que têm IDEs oficiais de fato (Java = Eclipse) ou de direito (.Net = Visual Studio)? Qual o sistema operacional que você usa? Qual o tipo de aplicação que você pretende desenvolver: Scripts para linha de comando? Aplicações web? Aplicações com GUI para desktop?

Como podemos ver, existem muitas variáveis a serem levadas em consideração. Sem saber a resposta para cada uma dessas perguntas, é quase impossível que alguém venha com uma resposta única, definitiva e que vai te deixar feliz para sempre.

Minha resposta default

Não existe algo como “a melhor” IDE, acredite. Se existisse, todos estariam usando. Python é uma linguagem que se destaca por ser intuitiva, legível e de código fácil de manter. Por isso, um bom editor de textos  e o interpretador interativo devem ser o suficiente para a maior parte dos casos. Alguns editores de texto recomendados são:

Sublime Text Dicas

No entanto, se você já tem o hábito de usar IDE e tem certeza de que não quer experimentar um estilo mais simples de programar, tente as opções a seguir e escolha a que for mais confortável para você:

Lembre-se sempre de que é uma decisão pessoal. Todas as opções apresentadas tem vantagens e desvantagens. Somente você pode avaliar qual delas atende suas necessidades.

Criando plugins para Sublime Text

Criando plugins para Sublime Text

Conheci o Sublime Text há pouco mais de um ano, por indicação do pessoal da comunidade Python Brasil. Desde então, tenho usado este editor de texto como alternativa às IDEs pesadas, caras e com muitos recursos que acabam subutilizados.

Logo nos primeiros minutos de uso, os novos usuários podem notar que o Sublime Text se destaca por sua interface limpa e rápida. O editor dispõe de um interessante mini-mapa que permite visualizar o código “do alto”, facilitando a localização. Também é possível editar texto lado a lado em múltiplos painéis (mão na roda para escrever HTML e CSS, por exemplo). Os recursos de seleção e edição de textos são intuitivos e proporcionam alto ganho de agilidade. Experimente a busca e seleção de múltiplos trechos para entender do que estou falando.

Mesmo com todos estes recursos, onde o Sublime Text realmente brilha é na capacidade de estender suas funcionalidades por meio de plugins personalizados, de forma que os usuários possam incrementar o editor com novos recursos de acordo com suas necessidades. Os plugins são escritos em Python e existe todo um ecossistema de publicação e gerenciamento de pacotes de plugins.

Por que você deveria aprender a escrever plugins para o Sublime Text?

Uma vez convencido de que o Sublime Text é o editor certo para você, o próximo passo é saber como tirar dele o máximo de funcionalidade. Andrew Hunt e David Thomas, no seu clássico livro The Pragmatic Programmer, defendem que um programador deve usar um único editor para todas as suas tarefas e usá-lo bem. Além disso, um bom editor deve possuir três características fundamentais: ser configurável, ser extensível e ser programável. Sendo assim, é importante desenvolver a capacidade de prover o editor com os recursos que você precisará para que seu projeto ganhe em produtividade, evitando inconsistências e duplicação de esforços.

Por onde começar?

Após baixar e instalar o Sublime Text no seu sistema operacional (existem versões para Linux, Mac e Windows),  vamos escrever um plugin simples para inserir a data e hora atuais no final do texto.

Selecione o item de menu Tools > New plugin… O seguinte trecho de código será criado automaticamente numa nova aba do editor:

import sublime, sublime_plugin
class ExampleCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        self.view.insert(edit, 0, "Hello, World!")

O que este código Python faz é inserir a frase “Hello, World!” no início do texto. Para testá-lo, salve o arquivo  com o nome example.py na pasta Packages/User (crie caso não exista), que fica dentro do diretório de instalação do Sublime Text. Em seguida, abra uma nova aba vazia, digite um trecho de texto qualquer e depois abra o console do Sublime Text (View > Show console). No console, digite:

view.run_command('example')

Se tudo ocorrer como esperado, deve surgir a frase “Hello, World!” no editor, logo no início do texto.

Agora vamos fazer algumas pequenas modificações no código para que o plugin faça o que nós queremos. Para obter a data e hora atuais, precisaremos de recursos do módulo datetime do Python. Então, acrescentamos no início do nosso código a linha:

import datetime

Depois, substituímos a string “Hello, World!” no corpo do método run() pelo código que nos retorna a string formatada correspondente a data e hora atuais. A última linha fica assim:

self.view.insert(edit, 0, datetime.datetime.now().strftime('%d/%m/%y, %H:%M'))

Por fim, queremos que a data e hora sejam inseridas no final do texto e não no início. Para isso precisamos modificar o valor do segundo parâmetro passado para o método insert, que indica a posição em que a string deve ser inserida. Atualmente o valor é 0 (zero), que indica a primeira posição da tela.

Para informar o valor da última posição, devemos passar o tamanho do texto já existente. Esse valor é obtido chamando o método size() do objeto view. Dessa forma, a última linha passa a ser:

self.view.insert(edit, self.view.size(), datetime.datetime.now().strftime('%d/%m/%y, %H:%M'))

Execute o comando novamente através do console e a string com a data e hora deve aparecer ao final do texto. Está pronto o código do nosso primeiro plugin para Sublime Text.

Atribuindo uma tecla de atalho

Agora vamos associar uma combinação de teclas de atalho para executar o novo comando disponibilizado pelo plugin que acabamos de escrever. No Sublime Text, as combinações de teclas de atalho são configuradas em arquivos JSON. As combinações de teclas são específicas para cada sistema operacional, o que nos obriga a criar três novos arquivos se quisermos que nosso plugin funcione em qualquer plataforma: Default (Windows).sublime-keymap, Default (Linux).sublime-keymap e Default (OSX).sublime-keymap. Para fazer com que a data e hora sejam inseridas com a combinação de teclas Shift+Alt+D, o conteúdo de cada um dos arquivos deve ser:

[
	{
		"keys": ["shift+alt+d"], "command": "example"
	}
]

Os arquivos devem ser salvos na mesma pasta em que está localizado o example.py. Desse modo, ao pressionar a combinação de teclas que atribuímos, a data e hora atuais serão inseridas no final do texto que estivermos editando.

Exemplo de Código

Para fins de estudo, escrevi um pequeno plugin que serve para inserir docstrings em funções/métodos de um programa Python. O plugin AddPythonDocstrings é do tipo TextCommand e serve como exemplo de uso de algumas funções comuns na localização e manipulação de trechos do texto.

Esta foi uma rápida amostra das possibilidades dos plugins para Sublime Text. Para mais detalhes sobre como desenvolver plugins mais complexos, bem como para uma melhor compreensão da API de plugins, recomendo estudar a documentação indicada nas referências abaixo.

Referências

  1. Sublime Text API Reference
  2. How to Create a Sublime Text 2 Plugin
  3. Plugin Development Forum
  4. Sublime Text Unofficial Documentation