All Projects β†’ alefragnani β†’ Vscode Language Pascal

alefragnani / Vscode Language Pascal

Licence: mit
Pascal language extension for Visual Studio Code

Programming Languages

typescript
32286 projects
pascal
1382 projects
delphi
115 projects

Projects that are alternatives of or similar to Vscode Language Pascal

Vscode Code Runner
Code Runner for Visual Studio Code
Stars: ✭ 1,332 (+1038.46%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Stylefmt
πŸ”Œ VS Code plugin for stylefmtβ€” Format your CSS using stylefmt.
Stars: ✭ 42 (-64.1%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Intelephense
PHP intellisense for Visual Studio Code
Stars: ✭ 872 (+645.3%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Peacock
Subtly change the color of your Visual Studio Code workspace. Ideal when you have multiple VS Code instances, use VS Live Share, or use VS Code's Remote features, and you want to quickly identify your editor.
Stars: ✭ 690 (+489.74%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Csscomb
πŸ”Œ VS Code plugin for CSScomb β€” CSS coding style formatter.
Stars: ✭ 63 (-46.15%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Git Graph
View a Git Graph of your repository in Visual Studio Code, and easily perform Git actions from the graph.
Stars: ✭ 767 (+555.56%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Theme Bear
🐻 A VSCode dark theme 🐻
Stars: ✭ 27 (-76.92%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Restclient
REST Client Extension for Visual Studio Code
Stars: ✭ 3,289 (+2711.11%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Smoothtype
VS Code extension to add cursor transitions while typing, similar to MS Office and the Windows 10 Mail app.
Stars: ✭ 54 (-53.85%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Hack
Hack language & HHVM debugger support for Visual Studio Code
Stars: ✭ 45 (-61.54%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Markdown Pdf
Markdown converter for Visual Studio Code
Stars: ✭ 571 (+388.03%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Laravel Blade Snippets Vscode
Laravel blade snippets and syntax highlight support for Visual Studio Code
Stars: ✭ 80 (-31.62%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Marp Vscode
Marp for VS Code: Create slide deck written in Marp Markdown on VS Code
Stars: ✭ 442 (+277.78%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Bookmarks
Bookmarks Extension for Visual Studio Code
Stars: ✭ 804 (+587.18%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Awesome Vscode
🎨 A curated list of delightful VS Code packages and resources.
Stars: ✭ 19,659 (+16702.56%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Without Guns For Vs Code
Visual Studio Code extension that teaches you mindful programming
Stars: ✭ 14 (-88.03%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
VSCode-Anywhere
VSCode with preconfigured tools for your programming languages : binaries, settings, extensions and documentations
Stars: ✭ 26 (-77.78%)
Mutual labels:  vscode, visual-studio-code, vscode-extension
Vscode Stylelint
A Visual Studio Code extension to lint CSS/SCSS/Less with stylelint
Stars: ✭ 260 (+122.22%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Project Manager
Project Manager Extension for Visual Studio Code
Stars: ✭ 1,022 (+773.5%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Git Semantic Commit
πŸ’¬ A Visual Studio Code extension which enables to commit simply by the semantic message conventions
Stars: ✭ 65 (-44.44%)
Mutual labels:  vscode, vscode-extension, visual-studio-code


Pascal Logo

What's new in Pascal 9.2

  • Adds Multi-root support
  • Adds Visual Studio Live Share support
  • Improvements in Code Navigation
  • Update grammar based on Monaco Language PR
  • The Formatter was extracted to its own extension (Pascal Formatter)

Support

Pascal is an open source extension created for Visual Studio Code. While being free and open source, if you find it useful, please consider supporting it

Pascal

It adds support for the Pascal language and its dialects like Delphi and FreePascal.

Here are some of the features that Pascal provides:

  • Syntax highlighting for files, forms and projects
  • A huge set of Snippets
  • Support for different Code Formatters (via Pascal Formatter)
  • Source code navigation

Features

Coding with style

Syntax Highlighting

Pascal supports full syntax highlighting for Delphi and FreePascal

syntax

Snippets

Almost 40 snippets are available

snippets

Format Code

Check out Pascal Formatter documentation.

Code Navigation

Navigate to any language element (methods, attributes, classes, interfaces, and so on) inside Pascal files. It supports native VS Code commands like:

  • Go to Symbol
  • Go to Definition
  • Peek Definition
  • Find All References

It uses GNU Global, a source code tagging system, which means that it has some limitations if you compare with an AST parsing.

Installing and Configuring GNU Global

  1. You have to install 4 tools:
  1. Update your %PATH% Environment Variable (System)

Let's say you extract GNU Global and CTags in C:\gnu folder. The two new entries in %PATH% should be:

  • GNU Global: C:\gnu\glo653wb\bin
  • Excuberant Tags: C:\gnu\ctags58\ctags58

Also make sure Python is in %PATH%

  1. Create 2 new Environment Variables (System)

GNU Global uses CTags + Python Pygments as plugin in order to recognizes Pascal source code, so you have to configure them.

  • GTAGSCONF: C:\gnu\glo653wb\share\gtags\gtags.conf
  • GTAGSLABEL: pygments

py-envvar

NOTE: For now, it was tested only on Windows, but since these tools are multiplatform (in fact, it comes from Unix), it should work on Linux and Mac.

Available commands

Code Formatter

Check out Pascal Formatter documentation.

Code Navigation

To enable Code Navigation, the extension depends on GNU Global and Exuberant Tags and for that, you must run gtags on the Root folder, so the tags are created. In order to make life easier, two commands where added:

  • Pascal: Generate Tags: Use this to create or reset the tags in the current project. You just have to do it once.
  • Pascal: Update Tags: Use this to update the tags for current project. You should use this command to update the references when any source code is updated.

Available Settings

Controls how the code navigation should work. Specially useful if you work with huge projects

  • workspace: Full featured code navigation
  • file: Limited to Go to Symbol in File command
    "pascal.codeNavigation": "workspace"
  • Controls if the extension should automatically generate tags in projects opened for the first time
    "pascal.tags.autoGenerate": true

For huge projects, its recommended to use:

    "pascal.codeNavigation": "file",
    "pascal.tags.autoGenerate": false

Task Build

Use this Task Examples, so you can:

  • Compile Delphi and FreePascal projects:
  • Navigate to Errors/Warnings/Hints, using the native View / Errors and Warnings command

compile

Building Tasks

If you want to build tasks (Task: Run Task Build) you can use the snippets below.

Delphi

Update two tags:

  • DCC32.EXE_PATH: The compiler location
  • YOUR_DELPHI_PROJECT.DPR: The project being built.
   "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
         }
      }
   ]

FreePascal

Update two tags:

  • FPC_BIN_PATH: The full compiler location. If its PATH is already in Environment Variables, simply use FPC_BIN filename
  • YOUR_FREEPASCAL_PROJECT_OR_FILE: The project/file being built.

{
   "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
         }
      }
   ]
}

License

MIT Β© Alessandro Fragnani

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].