Pascal est une extension open source créée pour le code Visual Studio . Tout en étant gratuit et open source, si vous le trouvez utile, veuillez envisager de le soutenir
Il ajoute une prise en charge de la langue Pascal et de ses dialectes comme Delphi et Freepascal .
Voici quelques-unes des fonctionnalités fournies par Pascal :
Pascal prend en charge la syntaxe complète mise en évidence pour Delphi et Freepascal

Près de 40 extraits sont disponibles

Consultez la documentation du formateur Pascal.
Accédez à n'importe quel élément de langue (méthodes, attributs, classes, interfaces, etc.) dans les fichiers Pascal. Il prend en charge les commandes de code natifs vs comme:
Il utilise GNU Global, un système de balise de code source, ce qui signifie qu'il a certaines limites si vous comparez avec un analyse AST.
pip install Pygments )%PATH% ( système ) Disons que vous extraire GNU Global et CTAGS dans le dossier C:gnu . Les deux nouvelles entrées en %PATH% devraient être:
C:gnuglo653wbbinC:gnuctags58ctags58 Assurez-vous également que Python est dans %PATH%
GNU Global utilise CTAGS + Python Pygments comme plugin afin de reconnaître le code source Pascal, vous devez donc les configurer.
GTAGSCONF : C:gnuglo653wbsharegtagsgtags.confGTAGSLABEL : pygments 
Remarque: Pour l'instant, il a été testé uniquement sur Windows, mais comme ces outils sont multiplateaux (en fait, il provient d'Unix), il devrait fonctionner sur Linux et Mac.
Pour activer la navigation de code , l'extension dépend des balises GNU global et exubérantes et pour cela, vous devez exécuter gtags sur le dossier racine, de sorte que les balises sont créées. Afin de faciliter la vie, deux commandes où ajouté:
Contrôle comment la navigation du code devrait fonctionner. Spécialement utile si vous travaillez avec d'énormes projets
workspace : Navigation complète du code en vedettefile : limité à Go to Symbol in File "pascal.codeNavigation" : " workspace " "pascal.tags.autoGenerate" : truePour les projets énormes, il est recommandé d'utiliser:
"pascal.codeNavigation" : " file " ,
"pascal.tags.autoGenerate" : falseUtilisez ces exemples de tâches , afin que vous puissiez:

Si vous souhaitez créer des tâches (tâche: exécuter la construction de la tâche), vous pouvez utiliser les extraits ci-dessous.
Mettez à jour deux balises:
DCC32.EXE_PATH : l'emplacement du compilateurYOUR_DELPHI_PROJECT.DPR : le projet en cours de construction. "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
}
}
]
Mettez à jour deux balises:
FPC_BIN_PATH : l'emplacement complet du compilateur. Si son PATH est déjà dans les variables d'environnement , utilisez simplement le nom de fichier FPC_BINYOUR_FREEPASCAL_PROJECT_OR_FILE : le projet / fichier est construit.
{
"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
}
}
]
}
Un merci spécial aux personnes qui ont contribué au projet:
Merci également à tous ceux qui ont aidé à ouvrir des problèmes avec des idées et des rapports de bogues.
MIT © Alessandro Fragnani