Editor de Codigo (Scintilla)

O editor de codigo do HarbourBuilder e powered pelo Scintilla 5.5+, o mesmo componente de edicao usado pelo Notepad++, SciTE e Code::Blocks. Ele oferece edicao de codigo profissional com destaque de sintaxe consciente de Harbour e dobramento de codigo inteligente.

Mesmo Motor em Todas as Plataformas

Todas as tres plataformas usam Scintilla 5.5+ — Windows usa DLLs dinamicas, macOS usa bibliotecas estaticas e Linux usa bibliotecas compartilhadas. A experiencia de edicao e identica em todas as plataformas.

Configuracao do Scintilla por Plataforma

PlataformaTipo de BibliotecaArquivos
WindowsBibliotecas dinamicasScintilla.dll, Lexilla.dll
macOSBibliotecas estaticaslibscintilla.a, liblexilla.a
LinuxBibliotecas compartilhadaslibscintilla.so, liblexilla.so

Destaque de Sintaxe

O editor usa um tema de cores VS Code Dark+ com destaque de sintaxe consciente de Harbour:

Tipo de TokenCorEstiloExemplo
Palavras-chaveAzulNegritofunction, return, local
ComandosTealNormalDEFINE FORM, BUTTON, LABEL
ComentariosVerdeItalico// Isto e um comentario
StringsLaranjaNormal"Hello World"
NumerosVerde ClaroNormal400, 3.14
PreprocessadorMagentaNormal#include, #xcommand

Dobramento de Codigo

O dobramento de codigo consciente de Harbour compreende estruturas da linguagem xBase:

Atalhos de Teclado

AtalhoAcao
Ctrl+F / Cmd+FAbrir barra de localizacao
Ctrl+H / Cmd+HAbrir barra de substituicao
Ctrl+Espaco / Cmd+EspacoAutocompletar (150+ palavras-chave)
Ctrl+/ / Cmd+/Alternar comentario de linha
Ctrl+Shift+D / Cmd+Shift+DDuplicar linha atual
Ctrl+Shift+K / Cmd+Shift+KExcluir linha atual
Ctrl+L / Cmd+LSelecionar linha atual
Ctrl+G / Cmd+GIr para numero da linha
F12Ir para definicao (funcao/procedimento/metodo/classe)

Autocompletar

Pressione Ctrl+Espaco / Cmd+Espaco para acionar o autocompletar com 150+ itens:

Correspondencia de Parenteses

O editor destaca automaticamente parenteses correspondentes:

Marcadores

Defina marcadores para navegar rapidamente para locais importantes no codigo:

AtalhoAcao
Ctrl+0..9 / Cmd+0..9Alternar marcador na linha atual
Ctrl+Shift+0..9 / Cmd+Shift+0..9Ir para marcador

Snippets de Codigo

Expansao por tab para padroes de codigo comuns:

SnippetExpande Para
fornfor nI := 1 to nCount
iffif condition
clsCLASS TClassName FROM TParentClass
funcfunction FunctionName()
procprocedure ProcedureName()
whildo while .T.
switswitch nValue
tryxbegin sequence ... end sequence

Auto-Indentacao

Quando voce pressiona Enter, o editor indenta automaticamente a nova linha para corresponder ao nivel de indentacao da linha anterior. Isso mantem seu codigo formatado corretamente sem espacamento manual.

Edicao Multi-Arquivo com Abas

O editor suporta edicao com abas, permitindo trabalhar em multiplos arquivos fonte simultaneamente. As abas mostram o nome do arquivo e um asterisco (*) quando o arquivo possui alteracoes nao salvas.

Painel de Mensagens de Build

Apos o build, o painel Mensagens aparece na parte inferior mostrando:

Barra de Status

A barra de status na parte inferior mostra informacoes de edicao em tempo real:

CampoDescricao
LinhaNumero da linha atual
ColunaPosicao da coluna atual
INS/SOBIndicador de modo Insercao ou Sobrescrita
Total de linhasTotal de linhas no arquivo
Total de caracteresTotal de caracteres no arquivo
UTF-8Codificacao do arquivo
Edicao Consciente de Harbour

Todas as funcionalidades do Scintilla sao configuradas especificamente para a sintaxe Harbour/xBase. O lexer compreende palavras-chave Harbour, comandos e construtores especificos xBase.

Nesta Página

Primeiros Passos Paleta de Componentes Recursos do IDE Tutoriais Referencia Plataformas Configuracao do Scintilla por Plataforma Destaque de Sintaxe Dobramento de Codigo Atalhos de Teclado Autocompletar Correspondencia de Parenteses Marcadores Snippets de Codigo Auto-Indentacao Edicao Multi-Arquivo com Abas Painel de Mensagens de Build Barra de Status