{ "name": "vscode-spring-boot", "displayName": "Spring Boot Tools", "description": "Provides validation and content assist for Spring Boot `application.properties`, `application.yml` properties files. As well as Boot-specific support for `.java` files.", "icon": "spring-boot-logo.png", "version": "1.40.0", "publisher": "Pivotal", "repository": { "type": "git", "url": "https://github.com/spring-projects/sts4.git" }, "license": "EPL-1.0", "engines": { "npm": ">=6.0.0", "vscode": ">=1.70.0" }, "categories": [ "Programming Languages", "Linters" ], "keywords": [ "java-properties", "spring-boot", "java", "application-properties", "application-yaml" ], "activationEvents": [ "onLanguage:spring-boot-properties", "onLanguage:spring-boot-properties-yaml", "onLanguage:java", "onLanguage:xml", "onDebugResolve:java", "onCommand:vscode-spring-boot.rewrite.list" ], "contributes": { "javaExtensions": [ "./jars/io.projectreactor.reactor-core.jar", "./jars/org.reactivestreams.reactive-streams.jar", "./jars/jdt-ls-commons.jar", "./jars/jdt-ls-extension.jar" ], "languages": [ { "id": "spring-boot-properties-yaml", "aliases": [ "Spring Boot Properties Yaml" ], "filenamePatterns": [ "application*.yml", "application*.yaml", "bootstrap*.yml", "bootstrap*.yaml" ], "configuration": "./yaml-support/language-configuration.json" }, { "id": "spring-boot-properties", "aliases": [ "Spring Boot Properties" ], "filenamePatterns": [ "application*.properties", "bootstrap*.properties" ], "configuration": "./properties-support/language-configuration.json" } ], "menus": { "editor/context": [ { "when": "resourceFilename == pom.xml", "command": "vscode-spring-boot.rewrite.list", "group": "SpringBoot" } ], "explorer/context": [ { "when": "resourceFilename == pom.xml && config.boot-java.rewrite.globa-commands.on == true", "command": "vscode-spring-boot.rewrite.list", "group": "SpringBoot" } ] }, "commands": [ { "command": "vscode-spring-boot.live-hover.connect", "title": "Manage Live Spring Boot Process Connections", "category": "Spring Boot" }, { "enablement": "config.boot-java.rewrite.globa-commands.on == true", "command": "vscode-spring-boot.rewrite.list", "category": "Spring Boot", "title": "Rewrite Refactorings..." }, { "command": "vscode-spring-boot.rewrite.reload", "title": "Reload Rewrite Recipes, Code Actions, Problem and Quick Fix Descriptors", "category": "Spring Boot" } ], "configuration": [ { "id": "features", "title": "Features", "order": 100, "properties": { "boot-java.rewrite.globa-commands.on": { "type": "boolean", "default": false, "description": "Experimental support for Rewrite recipes refactoring the whole maven projects via commands" }, "boot-java.live-information.automatic-connection.on": { "type": "boolean", "default": true, "description": "Live Information - Automatic addition of JVM arguments enabling JMX and Process Connection via JMX Enabled" }, "boot-java.live-information.fetch-data.max-retries": { "type": "number", "default": 10, "description": "Live Information - Max number of retries (before giving up)" }, "boot-java.live-information.fetch-data.retry-delay-in-seconds": { "type": "number", "default": 3, "description": "Live Information - Delay between retries in seconds" }, "boot-java.scan-java-test-sources.on": { "type": "boolean", "default": false, "description": "Enable/Disable Java test sources files scanning" }, "boot-java.support-spring-xml-config.on": { "type": "boolean", "default": false, "description": "Enable/Disable Support for Spring XML Config files" }, "boot-java.support-spring-xml-config.hyperlinks": { "type": "boolean", "description": "Enable/Disable Hyperlinks in Spring XML Config file editor", "default": true }, "boot-java.support-spring-xml-config.content-assist": { "type": "boolean", "description": "Enable/Disable Content Assist in Spring XML Config file editor", "default": true }, "boot-java.support-spring-xml-config.scan-folders": { "type": "string", "default": "src/main", "description": "Scan Spring XML in folders" }, "boot-java.highlight-codelens.on": { "type": "boolean", "default": true, "description": "Enable/Disable Spring running Boot application Code Lenses" }, "boot-java.change-detection.on": { "type": "boolean", "default": false, "description": "Enable/Disable detecting changes of running Spring Boot applications" }, "boot-java.remote-apps": { "type": "array", "items": { "type": "object", "properties": { "jmxurl": { "type": "string" }, "host": { "type": "string" }, "urlScheme": { "type": "string" }, "port": { "type": "number" } }, "required": [ "jmxurl", "host" ] }, "description": "Array of jmx urls pointing to remote spring boot applications to poll for live hover information. A typical url looks something like this: `service:jmx:rmi://localhost:9111/jndi/rmi://localhost:9111/jmxrmi`" } } }, { "id": "rewrite", "title": "Rewrite", "order": 400, "properties": { "boot-java.rewrite.reconcile": { "type": "boolean", "default": false, "description": "Experimental reconciling for Java source based on Rewrite project" }, "boot-java.rewrite.scan-files": { "type": "array", "default": [], "items": { "type": "string" }, "description": "JAR and YAML files to scan for recipes, code actions, problem and quick fix descriptors" }, "boot-java.rewrite.scan-dirs": { "type": "array", "default": [], "items": { "type": "string" }, "description": "Java project output folders to scan for recipes" } } }, { "id": "ls", "title": "Language Server", "order": 1000, "properties": { "spring-boot.ls.logfile": { "type": [ "string", "null" ], "description": "The path of a file to write language server logs. If not set or null, then logs are discarded." }, "spring-boot.ls.java.home": { "type": [ "string", "null" ], "description": "Override JAVA_HOME used for launching the spring-boot-language-server JVM process." }, "spring-boot.ls.java.heap": { "type": [ "string", "null" ], "description": "Max JVM heap value, passed via -Xmx argument when launching spring-boot-language-server JVM process." }, "spring-boot.ls.java.vmargs": { "type": "array", "items": { "type": "string" }, "description": "Additional 'user defined' VM args to pass to the language server process." }, "spring-boot.ls.checkJVM": { "type": "boolean", "default": true, "description": "Enable/Disable Java VM validation" } } }, { "id": "boot2", "title": "Boot 2.x Validation", "order": 401, "properties": { "boot-java.validation.java.boot2": { "type": "string", "default": "AUTO", "description": "Enablement", "enum": [ "AUTO", "OFF", "ON" ] }, "spring-boot.ls.problem.boot2.JAVA_AUTOWIRED_CONSTRUCTOR": { "type": "string", "default": "WARNING", "description": "Unnecessary `@Autowired` over the only constructor", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.boot2.JAVA_PUBLIC_BEAN_METHOD": { "type": "string", "default": "HINT", "description": "Public modifier on `@Bean` method. They no longer have to be public visibility to be usable by Spring.", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.boot2.JAVA_TEST_SPRING_EXTENSION": { "type": "string", "default": "WARNING", "description": "`@SpringBootTest` and all test slice annotations already applies `@SpringExtension` as of Spring Boot 2.1.0.", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] } } }, { "id": "boot3", "title": "Boot 3.x Validation", "order": 402, "properties": { "boot-java.validation.java.boot3": { "type": "string", "default": "AUTO", "description": "Enablement", "enum": [ "AUTO", "OFF", "ON" ] }, "spring-boot.ls.problem.boot3.JAVA_CONCRETE_BEAN_TYPE": { "type": "string", "default": "WARNING", "description": "Bean definition should have precise type for Spring 6 AOT", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] } } }, { "id": "application-properties", "title": "Properties Validation", "order": 403, "properties": { "spring-boot.ls.problem.application-properties.PROP_INVALID_BEAN_NAVIGATION": { "type": "string", "default": "ERROR", "description": "Accessing a 'bean property' in a type that doesn't have properties (e.g. like String or Integer)", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_INVALID_INDEXED_NAVIGATION": { "type": "string", "default": "ERROR", "description": "Accessing a property using [] in a type that doesn't support that", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_EXPECTED_DOT_OR_LBRACK": { "type": "string", "default": "ERROR", "description": "Unexpected character found where a '.' or '[' was expected", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_NO_MATCHING_RBRACK": { "type": "string", "default": "ERROR", "description": "Found a '[' but no matching ']'", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_NON_INTEGER_IN_BRACKETS": { "type": "string", "default": "ERROR", "description": "Use of [..] navigation with non-integer value", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_VALUE_TYPE_MISMATCH": { "type": "string", "default": "ERROR", "description": "Expecting a value of a certain type, but value doesn't parse as such", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_INVALID_BEAN_PROPERTY": { "type": "string", "default": "ERROR", "description": "Accessing a named property in a type that doesn't provide a property accessor with that name", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_UNKNOWN_PROPERTY": { "type": "string", "default": "WARNING", "description": "Property-key not found in any configuration metadata on the project's classpath", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_DEPRECATED": { "type": "string", "default": "WARNING", "description": "Property is marked as Deprecated", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_DUPLICATE_KEY": { "type": "string", "default": "ERROR", "description": "Multiple assignments to the same property value", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-properties.PROP_SYNTAX_ERROR": { "type": "string", "default": "ERROR", "description": "Syntax Error", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] } } }, { "id": "application-yaml", "title": "YAML Properties Validation", "order": 404, "properties": { "spring-boot.ls.problem.application-yaml.YAML_SYNTAX_ERROR": { "type": "string", "default": "ERROR", "description": "Error parsing the input using snakeyaml", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_UNKNOWN_PROPERTY": { "type": "string", "default": "WARNING", "description": "Property-key not found in the configuration metadata on the project's classpath", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_VALUE_TYPE_MISMATCH": { "type": "string", "default": "ERROR", "description": "Expecting a value of a certain type, but value doesn't parse as such", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_EXPECT_SCALAR": { "type": "string", "default": "ERROR", "description": "Expecting a 'scalar' value but found something more complex.", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_EXPECT_TYPE_FOUND_SEQUENCE": { "type": "string", "default": "ERROR", "description": "Found a 'sequence' node where a non 'list-like' type is expected", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_EXPECT_TYPE_FOUND_MAPPING": { "type": "string", "default": "ERROR", "description": "Found a 'mapping' node where a type that can't be treated as a 'property map' is expected", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_EXPECT_MAPPING": { "type": "string", "default": "ERROR", "description": "Expecting a 'mapping' node but found something else", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_EXPECT_BEAN_PROPERTY_NAME": { "type": "string", "default": "ERROR", "description": "Expecting a 'bean property' name but found something more complex", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_INVALID_BEAN_PROPERTY": { "type": "string", "default": "ERROR", "description": "Accessing a named property in a type that doesn't provide a property accessor with that name", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_DEPRECATED_ERROR": { "type": "string", "default": "ERROR", "description": "Property is marked as Deprecated(Error)", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_DEPRECATED_WARNING": { "type": "string", "default": "WARNING", "description": "Property is marked as Deprecated(Warning)", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_DUPLICATE_KEY": { "type": "string", "default": "ERROR", "description": "A mapping node contains multiple entries for the same key", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] }, "spring-boot.ls.problem.application-yaml.YAML_SHOULD_ESCAPE": { "type": "string", "default": "WARNING", "description": "This key contains special characters and should probably be escaped by surrounding it with '[]'", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] } } }, { "id": "spel", "title": "SPEL Validation", "order": 405, "properties": { "boot-java.validation.spel.on": { "type": "string", "default": "ON", "description": "Enablement", "enum": [ "OFF", "ON" ] }, "spring-boot.ls.problem.spel.JAVA_SPEL_EXPRESSION_SYNTAX": { "type": "string", "default": "ERROR", "description": "SpEL parser raised a ParseException", "enum": [ "IGNORE", "INFO", "WARNING", "HINT", "ERROR" ] } } } ], "grammars": [ { "language": "spring-boot-properties-yaml", "scopeName": "source.yaml", "path": "./yaml-support/yaml.tmLanguage" }, { "language": "spring-boot-properties", "scopeName": "source.java-properties", "path": "./properties-support/java-properties.tmLanguage" } ] }, "main": "./out/lib/Main", "scripts": { "vscode:prepublish": "npm run compile", "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "test": "npm run compile && node ./node_modules/vscode/bin/test", "vsce-package": "vsce package" }, "dependencies": { "@pivotal-tools/commons-vscode": "file:../commons-vscode/pivotal-tools-commons-vscode-0.2.4.tgz", "ps-list": "^7.2.0", "vscode-languageclient": "^8.0.2" }, "devDependencies": { "@types/node": "^16.11.11", "@types/vscode": "^1.53.0", "typescript": "^4.1.2", "vsce": "^2.6.7" }, "extensionDependencies": [ "redhat.java" ] }