All notable changes to the JBang extension will be documented in this file.
- Added support for pasting Maven XML dependency snippets as JBang
//DEPS(requires VS Code 1.97+) - Added Quarkus'
Q:CONFIGsyntax highlighting and completion - Added support for codelenses on instance main method
- Added documentation on hover over JBang directives
- Fixed Java value validation in JBang catalogs
- Replaced axios with fetch for http requests
- Updated various dependencies
- Added textmate grammar for JBang directives
- Fixed error reporting for unresolved dependencies
- Updated various dependencies
- Added
//Q:CONFIGcompletion if//DEPS io.quarkus:quarkusis found - Fixed running JBang installed via scoop on Windows
- Fixed bad looking documentation on hover on
//DEPS - Updated various dependencies
- Automatically save document after selecting a result in
//DEPScompletion - Save document before running/debugging with JBang
- Added
//JAVA 21completion - Added
--enable-httpand--enable-httpscompletions for//NATIVE_OPTIONSdirective - Built with Node 18
- Added code action to find dependency for missing class, on Maven Central
- Added completion for local
//DEPS(requires JBang 0.109.0+) - Fixed running JBang commands from the command palette
- Fixed apply dependency change on original file uri, not active editor
- Bundle the extension with esbuild
- Update JBang catalog schema (from jbang-idea)
- Added completion for
//PREVIEW(requires JBang 0.108.0+)
- Added autocompletion for
jbang-catalog.jsonfiles. - Added completion for
//MODULEand//MAINdirectives (requires JBang 0.104.0+) - Added JBang debug icon
- Fixed hover failing over LATEST versions
- Allowed completion for several
//DESCRIPTIONdirectives
- Automatic source download when using JBang 0.102.0+
- Added completion for
//FILES - Display error markers when
//FILESor//SOURCESare invalid - Fixed JBang failing if
JAVA_HOMEis set to an invalid location - Added 5s request timeout when searching for dependencies on Maven Central
- Display
Run JBangmenu onjarfiles - Fixed JBang header completion
- Fixed NPE on import
- Ignore Java's
Picked up JAVA_TOOL_OPTIONSmessage that broke Gitpod integration
- Add completion for
//NATIVE_OPTIONS,//COMPILE_OPTIONS,//RUNTIME_OPTIONS,//GROOVY,//KOTLIN - Display
Run JBangcommand in quick run menu - Report invalid
//JAVAversion at the proper location - Configure project according to
--releaseor-sourcevalue - Provide dependency completion for Kotlin and Groovy files
- Display
Run JBangcodelens for Kotlin and Groovy files - Display
Debug JBangcodelens for Java files - Add new
JBang: install applicationcommand - Fixed script detection in nested folders
- Fixed Chocolatey's JBang support
- Automagically configures JBang-managed JDKs, i.e. no need to configure
java.configuration.runtimes. - fix: completion after groupid:| didn't work
- If you open a folder containing JBang scripts, the first JBang script found will be used to configure a "Project"'s classpath. When configuring the
java.import.jbang.projectPerScriptsetting totrue, each script in the folder will be assigned a specific classpath. Toggling this setting requires calling theJava: Clean Java Language Server Workspacecommand to take effect. - Modifying JBang directives in a file will update the classpath of the file.
- Snippets are provided for JBang directives.
- Autocompletion for dependencies in
//DEPS - Autocompletion for
//SOURCES - Partial autocompletion for
//JAVA_OPTIONSand//JAVAC_OPTIONS - Display dependency documentation on completion/hover
- JBang scripts can be run from the
Run JBangcodelens, that shows on top of the type declaration or main method, if there is one. - If a (.java) script is included in a Maven or Gradle project's hierarchy, right-clicking on the script and selecting
JBang > Synchronize JBangwill add the script's parent folder to the project's source path and the JBang dependencies will be added to the project's classpath. - Create a new JBang script from an existing template with the
JBang: Create a new scriptcommand. - Annotation processors are automatically detected and configured.
- Partial support for
build.jbangfiles: If a folder containingbuild.jbangis opened, it'll be used to configure the Java settings of its //SOURCES. Currently, changes inbuild.jbangrequire manually triggering theJBang > Synchronize JBangcommand (via codelens or context menu) to take effect. - Export the script as a native binary, by right-clicking on the script and selecting the
JBang > Export as native binarymenu. This requires GraalVM to be installed with the native-image extension. See https://www.jbang.dev/documentation/guide/latest/usage.html#build-and-run-native-image-experimental