All Projects → slackhq → Vscode Hack

slackhq / Vscode Hack

Licence: mit
Hack language & HHVM debugger support for Visual Studio Code

Programming Languages

typescript
32286 projects
hack
652 projects

Projects that are alternatives of or similar to Vscode Hack

Vscode Intelephense
PHP intellisense for Visual Studio Code
Stars: ✭ 872 (+1837.78%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Without Guns For Vs Code
Visual Studio Code extension that teaches you mindful programming
Stars: ✭ 14 (-68.89%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Restclient
REST Client Extension for Visual Studio Code
Stars: ✭ 3,289 (+7208.89%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
vscode-less
🔌 Less intellisense for Variables and Mixins in all Less files.
Stars: ✭ 21 (-53.33%)
Mutual labels:  vscode, visual-studio-code, vscode-extension
Vscode Stylefmt
🔌 VS Code plugin for stylefmt— Format your CSS using stylefmt.
Stars: ✭ 42 (-6.67%)
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 (-42.22%)
Mutual labels:  vscode, visual-studio-code, vscode-extension
Marp Vscode
Marp for VS Code: Create slide deck written in Marp Markdown on VS Code
Stars: ✭ 442 (+882.22%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Auto Close Tag
Auto Close Tag for Visual Studio Code
Stars: ✭ 132 (+193.33%)
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 (+1604.44%)
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 (+1433.33%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Auto Rename Tag
Automatically rename paired HTML/XML tag
Stars: ✭ 161 (+257.78%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Project Manager
Project Manager Extension for Visual Studio Code
Stars: ✭ 1,022 (+2171.11%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Processing Vscode
A Visual Studio Code extension for the programming language Processing
Stars: ✭ 141 (+213.33%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Stylelint
A Visual Studio Code extension to lint CSS/SCSS/Less with stylelint
Stars: ✭ 260 (+477.78%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Mjml
This repo is archived. MJML preview, lint, compile for Visual Studio Code.
Stars: ✭ 138 (+206.67%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Awesome Vscode
🎨 A curated list of delightful VS Code packages and resources.
Stars: ✭ 19,659 (+43586.67%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Scss
🔌 IntelliSense for Variables, Mixins and Functions in all Sass (SCSS syntax only) files.
Stars: ✭ 128 (+184.44%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Elastic
Elasticsearch for VSCode
Stars: ✭ 130 (+188.89%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Markdown Pdf
Markdown converter for Visual Studio Code
Stars: ✭ 571 (+1168.89%)
Mutual labels:  vscode, vscode-extension, visual-studio-code
Vscode Bookmarks
Bookmarks Extension for Visual Studio Code
Stars: ✭ 804 (+1686.67%)
Mutual labels:  vscode, vscode-extension, visual-studio-code

Hack for Visual Studio Code

This extension adds rich Hack language & HHVM support to Visual Studio Code. Visit http://hacklang.org to get started with Hack.

It is published in the Visual Studio Marketplace here. To install, search for "Hack" in the VS Code extensions tab or run the following command (⌘+P): ext install vscode-hack.

Latest releases

v2.9.0

  • New launchUrl option in debugger attach config automatically invokes a web request once the debugger is attached, and detaches when the request is complete.

v2.8.0

  • If the IDE session is connected to a remote typechecker of type docker, scripts run via the launch debug target now automatically start in the Docker container instead of the host machine. Stopping on breakpoints isn’t yet supported in this mode.

v2.7.0

  • Lots of syntax highlighting updates. Thanks tspence!

See the full list of releases and features added on the Github releases page as well as the project changelog.

Features

  • Type Checking
  • Autocomplete
  • Hover Hints
  • Document Symbol Outline
  • Workspace Symbol Search
  • Document Formatting
  • Go To/Peek Definition
  • Find All References
  • Hack Coverage Check
  • Linting and Autofixing
  • Local and Remote Debugging

Hack for Visual Studio Code

Requirements

This extension is supported on Linux and Mac OS X 10.10 onwards (see HHVM compatibility). The latest versions of Hack typechecking tools (hh_client and hh_server) are required on the local machine or via a remote connection. The workspace should have a .hhconfig file at its root.

Configuration

This extension adds the following Visual Studio Code settings. These can be set in user preferences (⌘+,) or workspace settings (.vscode/settings.json).

  • hack.clientPath: Absolute path to the hh_client executable. This can be left empty if hh_client is already in your environment $PATH.
  • hack.enableCoverageCheck: Enable calculation of Hack type coverage percentage for every file and display in status bar (default: true).
  • hack.useLanguageServer: Start hh_client in Language Server mode. Only works for HHVM version 3.23 and above (default: true).
  • hack.useHhast: Enable linting (needs HHAST library set up and configured in project) (default: true).
  • hack.hhastPath: Use an alternate hhast-lint path. Can be abolute or relative to workspace root (default: vendor/bin/hhast-lint).
  • hack.hhastArgs: Optional list of arguments passed to hhast-lint executable.
  • hack.hhastLintMode: Whether to lint the entire project (whole-project) or just the open files (open-files).
  • hack.rememberedWorkspaces: Workspaces where whether or not to run custom Hack executables (e.g. hhast-lint) has been remembered. Note: This config can only be defined in VS Code global (user) settings.

Remote Development

The extension supports connecting to an external HHVM development environment for local typechecking, linting and all other intellisense features. The current supported connection methods are SSH into a remote host or exec in a local Docker container.

To enable this, set the following config values:

  • hack.remote.enabled: Run the Hack language tools on an external host (deafult: false).
  • hack.remote.type: The remote connection method (ssh or docker).
  • hack.remote.workspacePath: Absolute location of workspace root in the remote file system. If empty, this defaults to the local workspace path.

For SSH:

  • hack.remote.ssh.host: Address for the remote development server to connect to (in the format [[email protected]]hostname).
  • hack.remote.ssh.flags: Additional command line options to pass when establishing the SSH connection (Optional).

Make sure to test SSH connectivity and credentials beforehand. You should also ensure that the source stays in sync between the local and remote machines (the extension doesn't currently handle this).

$ ssh [email protected] "cd /mnt/project && hh_client"
No errors!

For Docker:

  • hack.remote.docker.containerName: Name of the local Docker container to run the language tools in.

Make sure the container is already running on your local machine, and has the required HHVM setup. You can pull an official HHVM image from Docker hub and even run multiple versions simultaneously.

$ docker run -d -t --name my-hhvm -v /home/user/repos/project:/mnt/project hhvm/hhvm:latest
$ docker exec --workdir /mnt/project my-hhvm hh_client
No errors!

Issues

Please file all bugs, issues, feature requests etc. at the GitHub issues page.

Contributing

There are lots of ways to help! You can file new bugs and feature requests, or fix a pending one. To contribute to the source code, fork the repository on GitHub and create a pull request. Please read our Contributors Guide and check out the VS Code extension development guide to get started.

License

The source code for this extension is hosted at https://github.com/slackhq/vscode-hack and is available under the MIT license.

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].