Pascalは、Visual Studioコード用に作成されたオープンソース拡張機能です。無料でオープンソースである間、便利だと思う場合は、サポートを検討してください
パスカル言語と、デルファイやフリーパスカルのような方言のサポートを追加します。
Pascalが提供する機能の一部は次のとおりです。
Pascalは、 DelphiとFreepascalの完全な構文を強調しています

ほぼ40個のスニペットが利用可能です

Pascal Formatterのドキュメントをご覧ください。
Pascalファイル内の任意の言語要素(メソッド、属性、クラス、インターフェイスなど)に移動します。次のようなネイティブとコードコマンドをサポートします。
ソースコードタグ付けシステムであるGNU Globalを使用しています。つまり、AST解析と比較すると、いくつかの制限があります。
pip install Pygments経由)%PATH%環境変数(システム)を更新するC:gnuフォルダーでGNUグローバルとCTAGを抽出したとします。 %PATH%の2つの新しいエントリは次のとおりです。
C:gnuglo653wbbinC:gnuctags58ctags58また、pythonが%PATH%であることを確認してください
GNU Globalは、Pascalソースコードを認識するために、CTAGS + Python Pygmentsをプラグインとして使用するため、構成する必要があります。
GTAGSCONF : C:gnuglo653wbsharegtagsgtags.confGTAGSLABEL : pygments 
注:今のところ、Windowsでのみテストされていましたが、これらのツールはマルチプラットフォームであるため(実際、UNIXから来ています)、LinuxとMacで動作するはずです。
コードナビゲーションを有効にするには、拡張機能はGNUグローバルおよび熱狂的なタグに依存し、そのためにルートフォルダーでgtagsを実行する必要があるため、タグが作成されます。生活を楽にするために、2つのコマンドが追加された場合:
コードナビゲーションがどのように機能するかを制御します。巨大なプロジェクトで作業する場合に特に便利です
workspace :フルフィーチャーコードナビゲーションfile : Go to Symbol in File "pascal.codeNavigation" : " workspace " "pascal.tags.autoGenerate" : true巨大なプロジェクトでは、使用することが推奨されます。
"pascal.codeNavigation" : " file " ,
"pascal.tags.autoGenerate" : falseこのタスクの例を使用して、次のことができます。

タスクをビルドする場合(タスク:タスクビルドの実行)、以下のスニペットを使用できます。
2つのタグを更新します:
DCC32.EXE_PATH :コンパイラの場所YOUR_DELPHI_PROJECT.DPR :プロジェクトが構築されています。 "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
}
}
]
2つのタグを更新します:
FPC_BIN_PATH :完全なコンパイラの場所。そのPATHすでに環境変数にある場合は、 FPC_BINファイル名を使用するだけですYOUR_FREEPASCAL_PROJECT_OR_FILE :プロジェクト/ファイルが構築されています。
{
"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
}
}
]
}
プロジェクトに貢献した人々に感謝します:
また、アイデアやバグレポートで問題を開くのを手伝ってくれたすべての人に感謝します。
MIT©ALESSANDRO FRAGNANI