Pascal é uma extensão de código aberto criado para o código do Visual Studio . Embora seja livre e de código aberto, se você achar útil, considere apoiá -lo
Ele adiciona suporte para a linguagem Pascal e seus dialetos como Delphi e FreePascal .
Aqui estão alguns dos recursos que Pascal fornece:
Pascal suporta sintaxe completa destaque para Delphi e FreePasCal

Quase 40 trechos estão disponíveis

Confira a documentação do Pascal Formatter.
Navegue para qualquer elemento de idioma (métodos, atributos, classes, interfaces e assim por diante) dentro dos arquivos Pascal. Ele suporta comandos nativos vs código como:
Ele usa o GNU Global, um sistema de marcação de código -fonte, o que significa que ele tem algumas limitações se você comparar com uma análise AST.
pip install Pygments )%PATH% ( sistema ) Digamos que você extraia GNU Global e CTAGs na pasta C:gnu . As duas novas entradas em %PATH% devem ser:
C:gnuglo653wbbinC:gnuctags58ctags58 Verifique também se o Python está em %PATH%
O GNU Global usa CTAGs + Python Pygments como plug -in para reconhecer o código -fonte Pascal, para que você os configure.
GTAGSCONF : C:gnuglo653wbsharegtagsgtags.confGTAGSLABEL : pygments 
NOTA: Por enquanto, ele foi testado apenas no Windows, mas como essas ferramentas são multiplataformas (na verdade, vem do Unix), deve funcionar no Linux e Mac.
Para ativar a navegação de código , a extensão depende das tags globais e exuberantes da GNU e, para isso, você deve executar gtags na pasta raiz, para que as tags sejam criadas. Para facilitar a vida, dois comandos foram adicionados:
Controla como a navegação de código deve funcionar. Especialmente útil se você trabalha com grandes projetos
workspace : navegação completa de código em destaquefile : Limitado para Go to Symbol in File "pascal.codeNavigation" : " workspace " "pascal.tags.autoGenerate" : truePara projetos enormes, é recomendado usar:
"pascal.codeNavigation" : " file " ,
"pascal.tags.autoGenerate" : falseUse este exemplo de tarefa , para que você possa:

Se você deseja criar tarefas (tarefas: execute a construção de tarefas), pode usar os trechos abaixo.
Atualize duas tags:
DCC32.EXE_PATH : o local do compiladorYOUR_DELPHI_PROJECT.DPR : o projeto que está sendo construído. "version": "2.0.0",
"tasks": [
{
"label": "Pascal",
"type": "shell",
"windows": {
"command": "DCC32.EXE_PATH"
},
"linux": {
"command": "FPC_BIN_PATH"
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"args": [
{
"value": ""YOUR_DELPHI_PROJECT.DPR"",
"quoting": "escape"
}
],
"problemMatcher": {
"owner": "external",
"pattern": {
"regexp": "^(.*.(pas|dpr|dpk))\((\d+)\)\s(Fatal|Error|Warning|Hint):(.*)",
"file": 1,
"location": 3,
"message": 5
}
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
Atualize duas tags:
FPC_BIN_PATH : o local completo do compilador. Se seu PATH já estiver em variáveis de ambiente , basta usar o nome FPC_BINYOUR_FREEPASCAL_PROJECT_OR_FILE : o projeto/arquivo que está sendo construído.
{
"version": "2.0.0",
"tasks": [
{
"label": "Pascal",
"type": "shell",
"windows": {
"command": "FPC_BIN_PATH"
},
"linux": {
"command": "FPC_BIN_PATH"
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"args": [
{
"value": "YOUR_FREEPASCAL_PROJECT_OR_FILE",
"quoting": "escape"
}
],
"problemMatcher": {
"owner": "external",
"pattern": {
"regexp": "^([\w]+\.(p|pp|pas))\((\d+)\,(\d+)\)\s(Fatal|Error|Warning|Note):(.*)",
"file": 1,
"line": 3,
"column": 4,
"message": 6
}
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Agradecimentos especiais às pessoas que contribuíram para o projeto:
Agradeço também a todos que ajudaram a abrir problemas com idéias e relatórios de insetos.
MIT © Alessandro fragnani