{"id":18666819,"url":"https://github.com/luke-zhang-04/processing-vscode","last_synced_at":"2025-04-11T23:33:22.986Z","repository":{"id":40701676,"uuid":"340423017","full_name":"Luke-zhang-04/processing-vscode","owner":"Luke-zhang-04","description":"A Visual Studio Code extension for the Processing programming language (https://processing.org/)","archived":false,"fork":false,"pushed_at":"2024-05-06T03:43:40.000Z","size":3074,"stargazers_count":14,"open_issues_count":14,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T19:53:17.881Z","etag":null,"topics":["pde","processing","processing-python","vscode","vscode-extension","vscode-language-support"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=Luke-zhang-04.processing-vscode","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Luke-zhang-04.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-19T16:14:19.000Z","updated_at":"2024-06-28T17:16:05.000Z","dependencies_parsed_at":"2024-05-06T04:45:36.019Z","dependency_job_id":null,"html_url":"https://github.com/Luke-zhang-04/processing-vscode","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luke-zhang-04%2Fprocessing-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luke-zhang-04%2Fprocessing-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luke-zhang-04%2Fprocessing-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Luke-zhang-04%2Fprocessing-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Luke-zhang-04","download_url":"https://codeload.github.com/Luke-zhang-04/processing-vscode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248495951,"owners_count":21113730,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pde","processing","processing-python","vscode","vscode-extension","vscode-language-support"],"created_at":"2024-11-07T08:34:13.454Z","updated_at":"2025-04-11T23:33:21.156Z","avatar_url":"https://github.com/Luke-zhang-04.png","language":"TypeScript","readme":"\u003cimg width=\"25%\" src=\"./images/icon.png\" alt=\"icon\"/\u003e\n\n# Processing for Visual Studio Code\n\n[![Marketplace Version](https://vsmarketplacebadge.apphb.com/version/Luke-zhang-04.processing-vscode.svg?style=for-the-badge\u0026logo=visual-studio-code\u0026logoColor=007ACC\u0026color=007ACC\u0026labelColor=083254)](https://marketplace.visualstudio.com/items?itemName=Luke-zhang-04.processing-vscode)\n\n[![Installs](https://vsmarketplacebadge.apphb.com/installs-short/Luke-zhang-04.processing-vscode.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=Luke-zhang-04.processing-vscode)\n[![Rating](https://vsmarketplacebadge.apphb.com/rating-star/Luke-zhang-04.processing-vscode.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=Luke-zhang-04.processing-vscode)\n[![.github/workflows/CI.yml](https://img.shields.io/github/workflow/status/Luke-zhang-04/processing-vscode/Node.js%20CI?label=CI\u0026logo=github\u0026style=flat-square)](https://github.com/Luke-zhang-04/processing-vscode/actions)\n[![License](https://img.shields.io/github/license/Luke-zhang-04/processing-vscode?style=flat-square)](./LICENSE)\n![Maintained?](https://img.shields.io/maintenance/yes/2021?style=flat-square)\n[![Vulnerabilities](https://snyk.io/test/github/Luke-zhang-04/processing-vscode/badge.svg?style=flat-square)](https://snyk.io/test/github/Luke-zhang-04/processing-vscode)\n\nNote on Processing 4: I'm not sure how this extension will handle Processing 4. I will wait for it to be out of beta and fix the extension if needed.\n\n## Contents\n\n-   [What this extension is](#what-this-extension-is)\n-   [What this extension isn't](#what-this-extension-isnt)\n-   [Why the fork?](#why-the-fork)\n-   [Screenshots](#screenshots)\n-   [Feature list](#feature-list)\n    -   [Syntax Highlighting](#syntax-highlighting)\n    -   [Snippets](#snippets)\n    -   [Documentation on Hover](#documentation-on-hover)\n    -   [Commands](#commands)\n-   [Using task files](#using-task-files)\n-   [Processing Python](#processing-python)\n-   [Credits](#credits)\n\n## What this extension is\n\nThis is a [fork of a Visual Studio Code extension created by Tobiah Zarlez](https://github.com/TobiahZ/processing-vscode) to add [Processing](https://processing.org/) language support, with added documentation on hover, diagnostics, and more.\n\n## What this extension isn't\n\n-   This extension does not allow you to debug Java or Processing projects.\n-   This is **NOT a language server**, and hence cannot provide the features a language server can. There simply is not enough demand for a Processing language server, and that type of thing is definitely out of the scope of my abilities. Language servers take entire teams from big companies such as Microsoft to make.\n    -   This extension cannot provide IntelliSense, for example\n\n## Why the fork?\n\nThe [original extension](https://github.com/TobiahZ/processing-vscode) was missing some features that I wanted and it seemed as if the repo was no longer being maintained. So, forked the extension and changed some things.\n\n-   Better syntax highlighting (from [Red Hat Java](https://github.com/redhat-developer/vscode-java/blob/master/syntaxes/java.tmLanguage.json))\n-   Documentation on hover (via Regex)\n-   A run button (both Processing Java and Processing Python)\n-   Simple diagnostics (via the processing-java CLI, which can be extremely slow, and is disabled by default)\n-   Strings are auto closing and surrounding (didn't work in the old extension)\n\nSee the [CHANGELOG](https://github.com/Luke-zhang-04/processing-vscode/blob/main/CHANGELOG.md) for all changes\n\n## Screenshots\n\n![Hover](https://raw.githubusercontent.com/Luke-zhang-04/processing-vscode/main/media/hover-1.png)\n\n\u003cdetails\u003e\n\u003csummary\u003eMore Screenshots\u003c/summary\u003e\n\n![Hover](https://raw.githubusercontent.com/Luke-zhang-04/processing-vscode/main/media/hover-2.png)\n![Error](https://raw.githubusercontent.com/Luke-zhang-04/processing-vscode/main/media/error.png)\n\n\u003c/details\u003e\n\n## Feature list\n\n### Syntax highlighting\n\nOpen any .pde file, or choose \"Processing\" from the drop down menu in the bottom right corner. Syntax highlighting is from [Red Hat's Java extension](https://github.com/redhat-developer/vscode-java/blob/master/syntaxes/java.tmLanguage.json).\n\n### Snippets\n\nOnce the language has been set, you will see code snippets pop up automatically as you type!\n\n### Documentation on hover\n\nWhen you hover over a function such as `square`, documentation for this function will appear! Documentation is scraped directly from the [Processing reference page](https://processing.org/reference/), so anything missing from there will be missing here too.\n\n### Commands\n\nInstalling this extension will add the following commands to your command pallette (`CTRL+SHIFT+P`, or opened by `View -\u003e Command Pallette`). These commands can be selected and run from there, to complete the corresponding tasks.\n\n-   Open Extension Documentation\n    -   Opens this documentation.\n-   Open Documentation for Selection\n    -   Use the pallet command \"Processing: Open Documentation for Selection\" to open the processing documentation for the current selection.\n    -   By default uses processing.org's documentation. Can change to p5js's if preferred using the `processing.docs` setting.\n-   Run\n    -   Runs the current Processing project (from current working directory). Will automatically detect if the project is Processing Java or Python.\n    -   If the setting `processing.shouldSendSigint` is set to `true`, run will interrupt the current running processing program before running the new one.\n-   RunJava\n    -   Runs the current Processing Java project (from CWD)\n-   RunPy\n    -   Runs the current Processing Python project (from CWD)\n-   Search Processing Website\n    -   Use the pallet command \"Processing: Search Processing Website\" to quickly search whatever you want on the processing website.\n    -   By default uses Google for search. Can change to DuckDuckGo if preferred using the `processing.search` setting.\n\n## Using Task Files\n\nThe [original extension](https://github.com/TobiahZ/processing-vscode) made use of a [tasks.json](https://github.com/TobiahZ/processing-vscode/blob/b98d44b095b303f7f66017c632b17e47fa00dfcd/ProcessingTasks.json) file to run processing projects. This has been replaced with the run command and run button (processing.Run). You can bind this command to a keybinding.\n\nAlternatively, if you prefer the `tasks.json` file, you can continue to use it, but the `command` field should be changed to `\"${config:processing.path}\"`.\n\n## Processing Python\n\nThis extension attempts to make Processing with Python easier to use. Follow these steps:\n\n1. Download the [processing-python library](https://py.processing.org/tutorials/command-line/#requirements) for your operating system\n    - Take note of the location of this file. For example, I might store mine in `~/processing.py-linux64/processing.py-3056-linux64/processing-py.jar`\n2. Download the proper [Java version](https://py.processing.org/tutorials/command-line/#requirements) for your operating system\n    - Follow the steps in the [Processing docs](https://py.processing.org/tutorials/command-line/#requirements)\n3. Configure the extension\n    - Change the following configuration options\n        - `processing.py.jarPath`: the path to your `processing-py.jar` file. Preferably, this is an absolute path. In this example, it will be `~/processing.py-linux64/processing.py-3056-linux64/processing-py.jar`\n        - `processing.py.javaPath`: the path to your `java` executable. For example, `/usr/bin/java`\n        - Make sure `processing.py.isEnabled` is set to `true` (true by default)\n4. Downloads stub definitions (optional)\n    - Definitions can be found [here](https://github.com/Abdulla060/Processing.py-intellisense/blob/master/lib/Processing3.pyi)\n    - After than, follow the imports in [this example](https://github.com/Abdulla060/Processing.py-intellisense/blob/master/Example.py)\n\n## Credits\n\n-   Snippets are based on the [Processing Sublime Text plugin](https://github.com/b-g/processing-sublime).\n-   Syntax highlighting is based on the [VSCode Java grammar](https://github.com/microsoft/vscode/blob/main/extensions/java/syntaxes/java.tmLanguage.json)\n-   Thanks to [Tobiah Zarlez](https://github.com/TobiahZ) for making the [original extension](https://github.com/TobiahZ/processing-vscode)\n\n## Development\n\n-   Run `yarn vsce package`\n-   Run `code --install-extension processing-vscode-\u003cVERSION\u003e.vsix`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluke-zhang-04%2Fprocessing-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluke-zhang-04%2Fprocessing-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluke-zhang-04%2Fprocessing-vscode/lists"}