Rails Hotkeys

28/06/07

Ontem de noite fiz um plugin para o Gedit para aumentar minha produtividade enquanto estou trabalhando em projetos desenvolvidos com Rails. Chama-se Rails Hotkeys. Se você segue as convenções sugeridas pelo Rails — e isso significa que você deve codificar em inglês — este plugin vai ser uma mão na roda. Como? Continue lendo.

Imagine que você está editando um modelo "Post". Se você quiser editar seu controller — na maioria dos casos será "PostsController" — basta pressionar Ctrl + Shift + R para ativar o Rails Mode e, então, pressionar a tecla C para abrir o arquivo correspondente. E não é só isso! Você pode abrir, à partir deste mesmo modelo, os testes (unitários, funcionais e de integração), arquivos de configuração, além de algumas outras coisas.

Ainda não se interessou? Então veja o screencast do Rails Hotkeys (o projeto que mostro lá o mesmo dos artigos de Testes). Para instalá-lo, basta baixar o plugin e extrair os arquivos para ~/.gnome2/gedit/plugins/. Lembre-se de ativá-lo em "Edit › Preferences › Plugins › Rails Hotkeys".

Após concluir a instalação, pressione as teclas Ctrl + Shift + R e depois a tecla F1 para ver a lista de atalhos disponíveis.

O plugin Rails Hotkeys está disponível em f.simplesideias.com.br/rails_hotkeys.tar.gz através do Subversion. Para pegar a versão mais recente, execute o comando svn co http://svn.simplesideias.com.br/general/gedit/plugins/rails_hotkeys e copie os arquivos para ~/.gnome2/gedit/plugins.

Ah, o nome foi sugerido pelo Klaus Paiva, viciado no plugin HotKeys do Gaim. Então, se não gostarem, já sabem para quem reclamar!

Nota: obviamente, este plugin só irá funcionar se você estiver editando algum projeto Rails.

Possíveis funcionalidades que serão implementadas:

  • Iniciar e parar um servidor Webrick
  • Executar comandos como script/generate e rake
  • Exibir um painel com todos os comentários marcados como TO-DO e FIXME (por exemplo, # TODO: Implement the whole thing)

Instalando Gnome Launch Box no Ubuntu

01/06/07

Hoje, resolvi procurar alguma coisa parecida com o Quicksilver do Mac, só que para Gnome (já falei que não instalo nada do KDE no Gnome? Tem que ser GTK, senão eu poderia instalar o Katapult). Encontrei o Gnome Launch Box. Para instalá-lo, execute sudo aptitude install gnome-launch-box.

Após concluir a instalação, adicione o comando gnome-launch-box -n -t à sua sessão. Para isso, execute gnome-session-properties no shell. Uma janela irá aparecer.

Janela Gnome Session Properties

Clique no botão "New" e preencha o campo "Name" com "Gnome Launch Box"; no campo "Command", digite gnome-launch-box -n -t.

Agora, falta adicionar uma tecla de atalho para abrir o Gnome Launch Box. Para fazer isso, execute o comando gconf-editor. O GConf Editor é equivalente ao Registro do Windows e se você dar uma fuçada vai achar algumas coisas legais. Vá até "apps › metacity › keybinding_commands" e digite para o nome "command_1" o comando gnome-launch-box. Depois, vá até "apps › metacity › global_keybindings", encontre o nome "run_command_1" e digite "<Control>Space" como seu valor.

Janela do GConf Editor

Pronto! Agora basta reiniciar o X com Ctrl + Alt + Backspace para que essas alterações funcionem. Lembre-se de salvar e fechar todos os documentos/aplicativos abertos. Ao pressionar Ctrl + Space você verá uma janela como esta, onde você pode digitar comandos ou caminhos de arquivos, por exemplo.

Janela do Gnome Launch Box

Gravei um screencast mostrando como instalar e outro do Gnome Launch Box em funcionamento.

Lista de Plugins para o gEdit

04/04/07

Neste post, listo todos os plugins que uso no meu gEdit com links para os respectivos downloads. Além disso, é possível baixar o tema que uso atualmente, baseado no tema Blackboard do Textmate. Diverta-se!

Advanced Editing

Adiciona uma série de funcionalidades como duplicar linha, remover linha, etc.
http://live.gnome.org/Gedit/AdvancedEditingPlugin

Autocomplete

Autocompletar com base no dicionário de palavras encontrado nos arquivos abertos.
http://sourceforge.net/projects/gedit-autocomp

Class Browser

Exiba a estrutura de seus arquivos com a possibilidade de ir a um determinado ponto rapidamente.
http://www.stambouliote.de/tarballs/gedit_classbrowser-0.0.3.tar.gz

Code Comment

Comente ou descomente um bloco de código com uma simples tecla de atalho.
http://live.gnome.org/Gedit/

Current Line Highlight

Pode parecer frescura, mas para algumas pessoas — eu — mudar a cor de fundo da linha corrente faz a diferença.
http://simplesideias.com.br/current-line-highlight/

Draw Spaces

Exibe espaços (ponto) e tabulações (seta) com aparência distinta.
http://live.gnome.org/Gedit

External Tools

Permite executar comandos externos e shell script. Excelente se usado com o comando Run File.
http://live.gnome.org/Gedit/ToolLauncherPlugin

File Browser Pane

Navegue pelos diretórios através de uma barra lateral adicionada com este plugin.
http://live.gnome.org/Gedit/ToolLauncherPlugin

Gemini

Autocompleta caracteres como colchetes, parenteses e aspas.
http://www.garyharan.com/index.php/2006/11/16/gemini-gedit-plugin-for-all-those-Textmate-fans/

Indent Lines

Aumenta ou diminui a indentação de código.
http://live.gnome.org/Gedit/Plugins

Markup Preview

Permite que você visualize no painel inferior, arquivos formatos com HTML, Textile e Markdown.
http://textmethod.com/wiki/ReStructuredTextToolsForGedit#preview-plugin

Quick Highlight Mode

Mudar o tipo de highlight do documento que está sendo editado nunca foi tão simples. Basta pressionar Ctrl+Shift+H e digitar as primeiras letras do formato.
http://simplesideias.com.br/quick-highlight-mode/

RubyDoc

Exibe a documentação do Ruby na barra lateral.
http://grad.icmc.usp.br/~vinibf/rubyide/

Smart Spaces

Trata tabulações — espaços e tabs — como se fosse um único caracter. Ótimo para quem trabalha com tabulações por espaço.
http://live.gnome.org/Gedit

SnapOpen

Diálgo de arquivos semelhante ao existente no Textmate. Permite buscas por expressão regular.
http://www.upperbound.net/upperbound/show/SnapOpen+plugin+for+Gedit

Snippets

Trechos de códigos adicionados através de disparadores — palavra-chave ou atalho de teclado — que aumentam de maneira estúpida a produtividade.
http://live.gnome.org/Gedit/Plugins/Snippets

Terminal

Exibe um terminal no painel inferior.
http://live.gnome.org/Gedit

Tab Coverter

Converte espaços para tab e vice-versa.
http://www.stambouliote.de/projects/gedit_plugins.html

Tabulation

Força tabulação para arquivos PHP, Ruby e Python. Outros documentos utilizam o padrão definido nas preferências.
http://simplesideias.com.br/gedit-e-tabulacao-por-arquivo/

Instalando tudo isso

Para instalar todos esses plugins e ainda ter um highlight todo modificado, siga os passos abaixo.

Tema

Baixe o arquivo gconf.tar.gz e extraia seus arquivos para ~/.gconf/apps/, substituindo o diretório "gedit-2", caso ele já exista. Veja como deve ser a estrutura de diretórios.

Estrutura de diretórios das configurações GConf do gEdit

As cores foram retiradas do próprio Textmate, e ficaram muito legais. Não apliquei para todas as linguagens, mesmo porque não uso todas. Mas Ruby/RHTML, PHP, CSS, Python, Javascript e HTML estão devidamente formatados.

Após copiar os arquivos rode o comando kill -HUP `pidof gconfd-2` para recarregar as configurações do GConf.

Tema do gEdit baseado no Textmate

Plugins

Instale os plugins que já vem no pacote do gEdit com o comando abaixo:

$~ sudo aptitude install gedit-plugins

Depois, baixe o arquivo plugins.tar.gz e extraia os arquivos para ~/.gnome2/gedit/, substituindo os diretórios, caso existam. Veja como deve ser a estrutura de diretórios.

Estrutura de diretórios de plugins do gEdit

Para sugestões e dúvidas, poste um comentário! :)