GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - slackhq/vscode-hack: Hack language & HHVM debugger support for Visual Studio Code

BranchesTags
Open more actions menu

Latest commit

 

History

374 Commits
374 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.vscode
.vscode
 
 
build
build
 
 
docs
docs
 
 
images
images
 
 
snippets
snippets
 
 
src
src
 
 
syntaxes
syntaxes
 
 
test
test
 
 
.gitignore
.gitignore
 
 
.maintainers_guide.md
.maintainers_guide.md
 
 
.prettierignore
.prettierignore
 
 
.prettierrc
.prettierrc
 
 
.release-please-manifest.json
.release-please-manifest.json
 
 
.vscodeignore
.vscodeignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CODEOWNERS
CODEOWNERS
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE.md
LICENSE.md
 
 
NOTICE.md
NOTICE.md
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
commitlint.config.js
commitlint.config.js
 
 
eslint.config.mjs
eslint.config.mjs
 
 
hack.configuration.json
hack.configuration.json
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
release-please-config.json
release-please-config.json
 
 
tsconfig.json
tsconfig.json
 
 

Repository files navigation

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.

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

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 [user@]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.

About

Hack language & HHVM debugger support for Visual Studio Code

marketplace.visualstudio.com/items?itemName=pranayagarwal.vscode-hack

Topics

hackhacklanghhvmphpvisual-studio-codevscodevscode-extension

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

80 stars

Watchers

64 watching

Forks

47 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.