Coder Social home page Coder Social logo

nezteb / vscode-pharo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from badetitou/vscode-pharo

0.0 1.0 0.0 10.08 MB

A VSCode plugin to support the Pharo Programming Language

License: MIT License

JavaScript 4.53% Smalltalk 0.24% TypeScript 95.23%

vscode-pharo's Introduction

vscode-pharo

Pharo Language Server

A Pharo client extension for VSCode.

Supported files

This extension support .st files and .class.st files (tonel format)

Features

We present here the existing features

Generic feature

Code highlighting

Highlighting

Breadcrumbs & Outline

Breadcrumbs & Outline

Supported Language Server feature

Code formatting

Format gif

Tonel file formatting

Tonel file formatting

Hover

Hover

Auto-completion

Auto-Completion

Help with method signature

Signature help gif

Diagnostics

Diagnostics gif

Code Lens (Run Tests)

Run test gif

Jump type Definition

Jump type Definition gif

Debug Adapter Protocol feature

  1. Break on halt
    1. Show the stack
    2. Show the variables
    3. Add watch

Break on halt

  1. Step, step in, step out

Step the stack gif

Moose Book (Notebook for Moose/Pharo)

MooseBook is a way to use a notebook with Pharo

Additional feature

The additional feature can be access using the command palette of VSCode

  1. Save the Pharo image
  2. Execute and show the result

Inspect gif

  1. Execute and print the result

Print gif

  1. Keep variable state

Keep Variable state gif

  1. Explore variable state

Explore variable state gif

  1. Show the current server version

Show version gif

  1. Saving a tonel file in VSCode, save the corresponding methods/class in the Pharo image

  2. Access Pharo Image

Access Pharo Image gif

Installation

The easiest way is to execute the pharo.installIt command using VSCode command panel.

Specific version of the language server

You can also follow the walkthroughs to download a pre-configured version of the Language Server.

Walkthroughs

Or, to install the extension in an existing image :

  1. Install VSCode
  2. Install the Pharo extension
  3. Download a Pharo Language Server image or install the server in a pre-existing image
  4. Download a VM (headless or not) for the image
  5. Set up the Pharo extension property
    1. pharo.pathToVM: is the path to the VM executable
      1. Windows: C:\path\to\pharo.exe
      2. Linux: /path/to/pharo
      3. MacOS: /path/to/Pharo.app/Contents/MacOS/Pharo
    2. pharo.pathToImage: is the absolute path to the image

From version v1.0.0, please use at least version v1.1.0 of the Pharo Language Server.

Using VMs from the Pharo Launcher

Assuming you have the official Pharo Launcher installed, you can also configure the extension to use the launcher's VMs along with the language server image like so:

pharo-vscode-demo-x1.5-v2.mp4

(The example above is using VSCode with macOS 13)

Thanks

This extension is inspired from the one of Leonardo Nascimento for smalltalk.

Thanks a lot Leonardo!

vscode-pharo's People

Contributors

badetitou avatar nezteb avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.