Geany: O realce da sintaxe e o preenchimento automático não funcionam, a menos que eu tenha o arquivo de cabeçalho aberto em geany

2

Atualmente estou escrevendo um programa que usa a biblioteca GTK.

Os programas são compilados e executados corretamente.

O problema é que o geany parece não saber quais estruturas e métodos estão no arquivo de cabeçalho do GTK.

Ele não destacará as estruturas e não oferecerá as funções de preenchimento automático.

Eu fiz algumas experiências - se eu for #incluindo meus próprios arquivos de cabeçalho - ele só fará o autocomplete se esse arquivo estiver aberto em geany. Embora seja ok para outros arquivos de cabeçalho std, como stdlib.h e math.h

O que eu faço para corrigir isso?

    
por user1068446 22.02.2012 / 08:22

1 resposta

2

Eu encontrei esse mesmo problema hoje ..

geany deve saber onde procurar para obter uma lista válida de símbolos e assim ler as fontes de todos os arquivos abertos, então se você quiser uma lista de símbolos útil você deve abrir todos os arquivos de cabeçalho que você precisa antes de iniciar a programação.

mesmo se o geany quiser parecer automagicamente nos arquivos de cabeçalho que você incluir, ele não poderá para adivinhar qual versão do gtk você quer usar para o seu projeto (gtk2, gtk3, ...) ..

lembre-se que o geany é lightweigth: -)

mas aqui está minha solução .. (eu acho que você está no linux e você tem um shell, gcc, etc)

para fazer o trabalho eu fiz isso:

echo "#include <gtk/gtk.h>" > gtk_headers.c
gcc -E gtk_headers.c 'pkg-config gtk+-3.0 --cflags --libs' -o gtk_headers.h

(estou trabalhando com a versão 3 do gtk, ajuste a linha pkg-config para atender às suas necessidades)

então eu abro meus arquivos de projeto e gtk_headers.h, dessa forma geany pode copiar os cabeçalhos da biblioteca gtk em que estou trabalhando ..

pro: simples

contras: os cabeçalhos que eu abro no geany são ~ 1.6 MB O_o

    
por 10.03.2012 / 03:17