Giter Club home page Giter Club logo

vscode-lombok's Introduction

Lombok logo vscode-lombok

VS Marketplace Installs

⚠️Starting from 1.8.0, the Language Support for Java(TM) by RedHat extension has built-in support for Lombok and automatically uses the lombok.jar from your project classpath. The embedded lombok.jar in the vscode-lombok extension will be deprecated in favor of RedHat Java extension.

Overview

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-lombok

A lightweight extension based on Language Support for Java by Red Hat. Provide refactoring code actions to Lombok/Delombok annotations in your code.

  • Lombok - Refactor code with Lombok annotations.
  • Delombok - Remove annotations with actual methods.

Screenshot

Requirements

  • VS Code (version 1.65.0 or later)
  • Lombok added as a dependency in your Java Project (Make sure you're using the latest version to avoid issues!) Add with Maven or Add with Gradle

Install

Open VS Code and press Ctrl + Shift + X to open extension manager. Type lombok and click install. Reload VS Code when asked.

Features / Supports

Here are the supported annotations for lombok/delombok code actions.

Data/Telemetry

VS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. If you don’t wish to send usage data to Microsoft, you can set the telemetry.enableTelemetry setting to false. Learn more in our FAQ.

Credits

This project was originally started by @GabrielBB and is now currently maintained by Microsoft. Huge thanks to @GabrielBB who started it all and made this Lombok extension available.

I'm having issues

vscode-lombok's People

Contributors

cscherryy avatar dependabot[bot] avatar eskibear avatar gabrielbb avatar jdneo avatar microsoft-github-policy-service[bot] avatar nickzhums avatar samueldaviddelacruz avatar sebastianlng avatar slcp avatar testforstephen avatar thekeenant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-lombok's Issues

Path to old lombok.jar stays in settings.json after update

The path to lombok.jar is added to java.jdt.ls.vmargs the first time you use it, which is great, but when the extension is updated, the older path sits there and the newer path is not added.
With the older path remaining in java.jdt.ls.vmargs, the debug button or the cog button next to it stops working and there's no error messages displayed, leaving the user no clue on what to do to solve it.
I also found that out/uninstall.js looks like it tries to remove the -javaagent: part from java.jdt.ls.vmargs upon uninstall, but it's not changed after reloading or restarting the Code, although I'm not sure if uninstall.js is called on extension update.

FieldNameConstants FIELD_ not support

https://projectlombok.org/features/experimental/FieldNameConstants
Starting with lombok v1.18.6, lombok will silently skip generating anything that already exists. You can define the inner Fields enum/class yourself, in which case lombok will add all the enum constants / public static final fields you haven't written yourself.

From lombok v1.16.22 to lombok v1.18.2, this feature generated constants inside the type directly; the name of these fields would for example turn field exampleFieldName into public static final String FIELD_EXAMPLE_FIELD_NAME = "exampleFieldName";. The prefix and suffix (here, FIELD_, and the empty string) were configurable. Starting with lombok v1.18.4 this feature has been redesigned into generating an inner type as described above.

user setting will force overwrite after install

before installing the extension, there is many customs configuration.

but now all old configuration lost, and it is the new configuration.

{
  "java.jdt.ls.vmargs": "-noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication -javaagent:\"/Users/fox/.vscode/extensions/gabrielbb.vscode-lombok-0.9.7/server/lombok.jar\" -Xbootclasspath/a:\"/Users/fox/.vscode/extensions/gabrielbb.vscode-lombok-0.9.7/server/lombok.jar\""
}

WSL 2 lombok

I'm unable to get lombok to work using this extension. I'm using WSL2.

Can someone like shed some light how to get this working for now?

Thanks,

Hany

Mapstruct Support

Hi,
Thank you so much for this useful extension.
Can you please help add in the AstModifyingAnnotationProcessor and other required classes to the JAR for the Mapstruct support?
The source issue on Mapstruct which proposed the fix for adding required classes to the lombok JAR.
Meanwhile as lombok is not actively supporting to this issue, I guess the best working fix for the time being will be at the extension level for the VSCode users. Thank you!

import lombok fails with import can't be resolved.

I have install the lombok extension in Visual Studio code. The "import lombok" gives and error. What am I doing wrong. I am new to Visual Studio code.

Thanks for you help

My settings are:

{
"files.autoSave": "afterDelay",
"git.autofetch": true,
"java.jdt.ls.vmargs": "-noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication -javaagent:"C:\Users\kglas\.vscode\extensions\gabrielbb.vscode-lombok-0.9.5/server/lombok.jar" -Xbootclasspath/a:"C:\Users\kglas\.vscode\extensions\gabrielbb.vscode-lombok-0.9.5/server/lombok.jar""
}

The extension does not work with WSL

This issue is easy to be reproduced. If you swith from an opened folder on Windows workspace to WSL workspace, the extension crashes. I've been trying to fix this but I haven't been successful.

This is the log genereted:

message: 'Error opening zip file or JAR manifest missing : ' +
'c:\Users\Marco\.vscode\extensions\gabrielbb.vscode-lombok-1.0.1\server\lombok.jar\n',
level: 'info',

The extension breaks java/vscode

OK, I don't know what exactly happens so I'll have to write a long text to explain it, here it goes.

Part 1 - The problem

I've created a brand new spring project using the vscode spring boot initialzr extension and run the project successfully. Then, I added your extension so I could use lombok on my project. Vscode asked me to restart/reload and as soon as vscode opened I received the message "Language Support for Java Server crashed 5 times in the last 3 minutes".

Checking the project folder, I found out that the JVM crashed and several core dump files were created in the folder, each one with 1GB+ size. First I thought it was a problem with that Java Server extension and/or with my project. But after trying several things, to solve it there was nothing left but remove your extension.

I removed it and found another problem which was already reported in this issue redhat-developer/vscode-java#1175 and apparently is not fixed yet. I did what was suggested in that issue and removed the JVM parameters referencing your extension and the project opened again without crashing the JVM.

NOTE: anyone reading this issue and having this problem on Linux, the path for the file that need to be fixed is $HOME/.config/Code/User/settings.json

Part 2 - The solution

I obviously couldn't build the project because lombok was not on my classpath anymore. This was when I tried to do something very specific (don't know why, just luck I guess) and that solved the problem for me.

  1. I ensured that your extension was completely removed checking the vscode extensions folder (on Linux $HOME/.vscode/extensions)

  2. I removed all Java and Spring extensions using the vscode extension manager

  3. After removing all these extensions I closed and reopened vscode to check if no errors were occuring. Everything was OK

  4. I reinstalled only your extension using vscode extension manager, but this time, when vscode asked me to restart, I denied and closed vscode manually to prevent it from opening again

  5. With vscode closed I downloaded the last version of Lombok (1.18.18) and replaced the jar on your extension folder with it

  6. Then I reopened vscode and reinstalled all Java and Spring extensions

And voila!! No errors, the code started compiling and I could run the project normally

Phew, that was a long text, thanks for your patience!

Part 3 - The conclusion

After thinking for a while why this worked, a light bulb popped over my head. Here's what I think it's happening. When we include lombok in the project dependencies using gradle, usually this is done this way:

compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

If you pay attention closely, you will see that the version of Lombok is not specified, which probably means that Gradle/Maven downloads the latest version and add to the classpath. This is the version that will be used to compile the project.

When I was replacing your jar by the one downloaded from the lombok site, I noticed that the size of your jar was slightly smaller. This makes me think that your jar is an older version. Probably what happens is that your jar expects an older version of lombok in the classpath that matches it, but since gradle grabbed the latest one from the repository, a JAR HELL occurred and crashed the JVM!

Oh dear! I should have listened to my mom and become a lawyer! Maybe I should sell my laptop and buy a popcorn machine to sell popcorn on a square.

Anyways, I have nothing to support this theory, but it's the best that my brain can do for now, at 1:08pm! Thank you for your great work until here, your extension is very useful and I'll be very happy if you find a way to help us all.

Open VSX Listing: Signing the Publisher Agreement

Thank you for being part of the Open VSX community by adding your extensions to the Open VSX Registry. Please note that the service was recently transferred to the Eclipse Foundation and urgent action on your part is needed so we can continue to list your extensions. To ensure uninterrupted service, please sign the Eclipse Publisher Agreement on or before January 8, 2021. If not signed by that date, your extensions will be delisted and will no longer appear on the site nor be available via the API. If you sign at a later date, your extensions will then be re-activated. The signing process is explained in the Wiki (steps 1 and 2).

Please also note that all extensions MUST have a license in order to be listed.

More details are in these recent blog posts:
https://blogs.eclipse.org/post/brian-king/open-vsx-registry-under-new-management
https://blogs.eclipse.org/post/brian-king/new-era-open-vsx-registry

Today, there’s growing momentum around open source tools and technologies that support Visual Studio (VS) Code extensions. Leading global organizations are adopting these tools and technologies. This momentum has spurred demand for a marketplace without restrictions and limitations. Thanks for joining us on this journey as we continue to build the Open VSX community. We look forward to continued innovation from you in 2021!

Lombok extension updates User level setting in Remote Container mode

I am using the "Remote Containers" extension to connect to a Docker container where I do my development for a project.

When I install the Lombok extension on the host machine, it updates the "User" settings to have the "javaagent" with the path of the jar from the user home directory.

When I am working inside a "Remote Container" hosted on my local Docker machine, I have the option to install extensions that are relevant to that container. But, at this time, when I install the extension, the "User" setting already has the "javaagent" entry from the host, and hence the Java language server fails to start. The host user directory is not available on the Container.

The work around is to open the user settings.json file and remove the "javaagent" entry from there. But then, that means I cannot use the extension on my host machine.

When running inside a container, the extension settings should be added to the "Remote" settings instead of the "User" settings.

No extension found (VSCodium)

I'm using the latest VSCodium and I have a "No extension found" message. Even ext install GabrielBB.vscode-lombok fails silently.

image

Version: 1.46.1
Commit: cd9ea6488829f560dc949a8b2fb789f3cdc05f5d
Date: 2020-06-19T10:53:55.306Z
Electron: 7.3.1
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 5.4.0-37-generic

vscode lombok errors

I'm getting some errors on vscode in relation to lombok capabilities:

I've pushed a repository on here, you can find a very straightforward code.

image

gradle build works correctly.

image

This is gradle -version output:

image

I've took a look on error stack:

org.gradle.tooling.BuildActionFailureException: The supplied build action failed with an exception.
	at org.gradle.tooling.internal.consumer.connection.CancellableActionRunner.run(CancellableActionRunner.java:56)
	at org.gradle.tooling.internal.consumer.connection.AbstractConsumerConnection.run(AbstractConsumerConnection.java:63)
	at org.gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:54)
	at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter$1.run(DefaultBuildActionExecuter.java:76)
	at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:84)
	at org.gradle.tooling.internal.consumer.connection.CancellableConsumerActionExecutor.run(CancellableConsumerActionExecutor.java:45)
	at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:58)
	at org.gradle.tooling.internal.consumer.connection.RethrowingErrorsConsumerActionExecutor.run(RethrowingErrorsConsumerActionExecutor.java:38)
	at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:55)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.base/java.lang.Thread.run(Thread.java:834)
	at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
	at org.gradle.tooling.internal.consumer.DefaultBuildActionExecuter.run(DefaultBuildActionExecuter.java:65)
	at org.eclipse.buildship.core.internal.CachingBuildActionExecuter.run(CachingBuildActionExecuter.java:195)
	at org.eclipse.buildship.core.internal.workspace.DefaultModelProvider$2.lambda$call$0(DefaultModelProvider.java:99)
	at org.eclipse.buildship.core.internal.DefaultGradleBuild$GradleConnectionOperation.runInToolingApi(DefaultGradleBuild.java:312)
	at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager$WorkspaceRunnableAdapter.run(DefaultToolingApiOperationManager.java:57)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2295)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2322)
	at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:38)
	at org.eclipse.buildship.core.internal.DefaultGradleBuild.withConnection(DefaultGradleBuild.java:112)
	at org.eclipse.buildship.core.internal.workspace.DefaultModelProvider$2.call(DefaultModelProvider.java:99)
	at org.eclipse.buildship.core.internal.workspace.DefaultModelProvider$2.call(DefaultModelProvider.java:94)
	at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:5065)
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716)
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424)
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211)
	at com.google.common.cache.LocalCache.get(LocalCache.java:4154)
	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:5060)
	at org.eclipse.buildship.core.internal.workspace.DefaultModelProvider.getFromCache(DefaultModelProvider.java:123)
	at org.eclipse.buildship.core.internal.workspace.DefaultModelProvider.executeOperation(DefaultModelProvider.java:115)
	at org.eclipse.buildship.core.internal.workspace.DefaultModelProvider.executeCompositeModelQuery(DefaultModelProvider.java:94)
	at org.eclipse.buildship.core.internal.workspace.DefaultModelProvider.fetchModels(DefaultModelProvider.java:55)
	at org.eclipse.buildship.core.internal.workspace.ModelProviderUtil.fetchAllEclipseProjects(ModelProviderUtil.java:31)
	at org.eclipse.buildship.core.internal.DefaultGradleBuild$SynchronizeOperation.runInToolingApi(DefaultGradleBuild.java:217)
	at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager$WorkspaceRunnableAdapter.run(DefaultToolingApiOperationManager.java:57)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2295)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2322)
	at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:38)
	at org.eclipse.buildship.core.internal.DefaultGradleBuild$SynchronizeOperation.run(DefaultGradleBuild.java:182)
	at org.eclipse.buildship.core.internal.DefaultGradleBuild.synchronize(DefaultGradleBuild.java:95)
	at org.eclipse.buildship.core.internal.workspace.SynchronizationJob.runInToolingApi(SynchronizationJob.java:63)
	at org.eclipse.buildship.core.internal.workspace.SynchronizationJob.runInToolingApi(SynchronizationJob.java:29)
	at org.eclipse.buildship.core.internal.operation.ToolingApiJob$1.runInToolingApi(ToolingApiJob.java:53)
	at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager$WorkspaceRunnableAdapter.run(DefaultToolingApiOperationManager.java:57)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2295)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2322)
	at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:38)
	at org.eclipse.buildship.core.internal.operation.ToolingApiJob.run(ToolingApiJob.java:64)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':compileJava'.
	at org.gradle.api.internal.tasks.DefaultTaskContainer.taskCreationException(DefaultTaskContainer.java:691)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.access$600(DefaultTaskContainer.java:77)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.domainObjectCreationException(DefaultTaskContainer.java:683)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:934)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.access$1301(DefaultTaskContainer.java:629)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider$1.run(DefaultTaskContainer.java:656)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.tryCreate(DefaultTaskContainer.java:652)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.getOrNull(DefaultNamedDomainObjectCollection.java:915)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection.findByName(DefaultNamedDomainObjectCollection.java:292)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.findByName(DefaultTaskContainer.java:530)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.findByName(DefaultTaskContainer.java:76)
	at org.gradle.plugins.ide.internal.tooling.GradleProjectBuilder.tasks(GradleProjectBuilder.java:82)
	at org.gradle.plugins.ide.internal.tooling.GradleProjectBuilder.buildHierarchy(GradleProjectBuilder.java:68)
	at org.gradle.plugins.ide.internal.tooling.GradleProjectBuilder.buildAll(GradleProjectBuilder.java:50)
	at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.buildAll(EclipseModelBuilder.java:100)
	at org.gradle.plugins.ide.internal.tooling.EclipseModelBuilder.buildAll(EclipseModelBuilder.java:72)
	at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$BuildOperationWrappingToolingModelBuilder$1$1.create(DefaultToolingModelBuilderRegistry.java:102)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry.withLenientState(DefaultProjectStateRegistry.java:132)
	at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$BuildOperationWrappingToolingModelBuilder$1.call(DefaultToolingModelBuilderRegistry.java:98)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
	at org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry$BuildOperationWrappingToolingModelBuilder.buildAll(DefaultToolingModelBuilderRegistry.java:95)
	at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getModel(DefaultBuildController.java:79)
	at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter$2.getModel(InternalBuildActionAdapter.java:74)
	at org.gradle.tooling.internal.consumer.connection.BuildControllerAdapter.getModel(BuildControllerAdapter.java:62)
	at org.gradle.tooling.internal.consumer.connection.AbstractBuildController.getModel(AbstractBuildController.java:40)
	at org.eclipse.buildship.core.internal.workspace.CompositeModelQuery.collectRootModels(CompositeModelQuery.java:43)
	at org.eclipse.buildship.core.internal.workspace.CompositeModelQuery.execute(CompositeModelQuery.java:38)
	at org.eclipse.buildship.core.internal.workspace.CompositeModelQuery.execute(CompositeModelQuery.java:25)
	at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter.execute(InternalBuildActionAdapter.java:77)
	at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.buildResult(ClientProvidedBuildActionRunner.java:81)
	at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.access$100(ClientProvidedBuildActionRunner.java:38)
	at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner$1.buildFinished(ClientProvidedBuildActionRunner.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:376)
	at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:358)
	at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
	at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:346)
	at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:333)
	at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
	at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
	at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
	at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
	at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324)
	at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234)
	at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140)
	at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
	at com.sun.proxy.$Proxy13.buildFinished(Unknown Source)
	at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:177)
	at org.gradle.initialization.DefaultGradleLauncher.finishBuild(DefaultGradleLauncher.java:140)
	at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:104)
	at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:96)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:183)
	at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
	at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96)
	at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:85)
	at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:70)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:49)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:44)
	at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:79)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:44)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
	at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
	at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
	at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:62)
	at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
	at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
	at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
	at org.gradle.util.Swapper.swap(Swapper.java:38)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:81)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
	at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
	at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':generateLombokConfig'.
	at org.gradle.api.internal.tasks.DefaultTaskContainer.taskCreationException(DefaultTaskContainer.java:691)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.access$600(DefaultTaskContainer.java:77)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.domainObjectCreationException(DefaultTaskContainer.java:683)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:934)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.access$1301(DefaultTaskContainer.java:629)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider$1.run(DefaultTaskContainer.java:656)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.tryCreate(DefaultTaskContainer.java:652)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.getOrNull(DefaultNamedDomainObjectCollection.java:915)
	at org.gradle.api.internal.provider.AbstractReadOnlyProvider.get(AbstractReadOnlyProvider.java:27)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.get(DefaultNamedDomainObjectCollection.java:901)
	at io.freefair.gradle.plugins.lombok.LombokPlugin.lambda$configureJavaPluginDefaults$4(LombokPlugin.java:65)
	at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:41)
	at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:41)
	at org.gradle.internal.ImmutableActionSet$SetWithManyActions.execute(ImmutableActionSet.java:329)
	at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:250)
	at org.gradle.api.internal.DefaultDomainObjectCollection.add(DefaultDomainObjectCollection.java:244)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection.add(DefaultNamedDomainObjectCollection.java:118)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:930)
	... 129 more
Caused by: org.gradle.api.GradleException: Could not generate a proxy class for class io.freefair.gradle.plugins.lombok.GenerateLombokConfig.
	at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:228)
	at org.gradle.api.internal.AbstractClassGenerator.generate(AbstractClassGenerator.java:80)
	at org.gradle.api.internal.project.taskfactory.TaskFactory.create(TaskFactory.java:66)
	at org.gradle.api.internal.project.taskfactory.PropertyAssociationTaskFactory.create(PropertyAssociationTaskFactory.java:48)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.create(AnnotationProcessingTaskFactory.java:44)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.createTask(DefaultTaskContainer.java:318)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.access$200(DefaultTaskContainer.java:77)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:673)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:629)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:927)
	... 148 more
Caused by: java.lang.NoClassDefFoundError: org/gradle/api/provider/MapProperty
	at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3167)
	at java.base/java.lang.Class.getDeclaredMethods(Class.java:2310)
	at org.gradle.internal.reflect.ClassInspector.inspectClass(ClassInspector.java:72)
	at org.gradle.internal.reflect.ClassInspector.visitGraph(ClassInspector.java:56)
	at org.gradle.internal.reflect.ClassInspector.inspect(ClassInspector.java:36)
	at org.gradle.api.internal.AbstractClassGenerator.inspectType(AbstractClassGenerator.java:288)
	at org.gradle.api.internal.AbstractClassGenerator.inspectType(AbstractClassGenerator.java:243)
	at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:115)
	... 157 more
Caused by: java.lang.ClassNotFoundException: org.gradle.api.provider.MapProperty
	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	... 166 more

I hope github code repository helps to help me out to solve that issue.

Updating lombok versions

I was having issues with lombok, and decided to manually update the version by replacing the jar at /server. It looks like the issue disappeared. I was thinking maybe a config setting to set the path to the lombok jar could make it easier to get the latest version of lombok without depending on the plugin to be updated.

Thoughts?

Lombok issue with java code

Issue Type: Bug

Hi Team,
I am often facing lombok no such method found exception in my VS code workspace. Its working sometimes and sometimes it does not.

Extension version: 0.9.9
VS Code version: Code 1.40.2 (f359dd69833dd8800b54d458f6d37ab7c78df520, 2019-11-25T14:54:45.096Z)
OS version: Windows_NT x64 10.0.18362

System Info
Item Value
CPUs Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4 x 2496)
GPU Status 2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: unavailable_off
rasterization: enabled
skia_renderer: disabled_off
surface_control: disabled_off
surface_synchronization: enabled_on
video_decode: enabled
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 7.86GB (2.96GB free)
Process Argv
Screen Reader no
VM 0%

Java Language Server is failing

I'm getting failures from Java Language Server.

{ message:
   'Error opening zip file or JAR manifest missing : /Users/bbonner/.vscode/extensions/gabrielbb.vscode-lombok-0.9.8/server/lombok.jar\n',
  level: 'info',
  timestamp: '2019-09-26 13:36:20.552' }
{ message:
   'The Language Support for Java server crashed and will restart.',
  level: 'error',
  timestamp: '2019-09-26 13:36:20.553' }

Cannot install lombok extension behind corporate proxy.

Error messages:

  1. "Failed to install 'gabrielbb.vscode-lombok'" on install from VS Code.
  2. "EPERM: operation not permitted, mkdir 'C:\Users\f1694870\.vscode\extensions\.gabrielbb.vscode-lombok-1.0.1\node_modules\uc.micro' when installing from downloaded file.

Lombok was already installed for Eclipse and is working.
Im using JDK 8 and JRE 1.8.

Incorrect path separators

Current path separators prevent to run the extension on Linux.
in package.json, section "lombokConfig" - changing this:
"path": "\\server\\lombok.jar",
to this:
"path": "/server/lombok.jar",
solves the issue for me.

Problem reported when i reopen the project

Maybe i use in wrong way,every time i open the project,there is a large number of errors in output problem.
But when i open the file,the problem disappeared.

Which the most problems is look like:

the constructor xxx is undefined
xxx cannot be resolved

Wrong lombok.jar path on remote macOS system.

Local: Windows 10
Remote: macOS 11.5.2

Connect via vscode Remote SSH.

vscode logged:
Error opening zip file or JAR manifest missing : /home/eric/.vscode-server/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar

Actually, the .vscode-server folder is under /Users/eric

Open VSX Hosting

Hi,
Will this extension be published to https://open-vsx.org

Just for some background info, this is an open source vscode registry used by the eclipse foundation and there new project theia (https://theia-ide.org/) an open source ide based on the open source code from vscode.

Language Server shows no Problems when using lombok

Hi, since i addet lombok as addon and maven depency i get not errors from the language server. Seems to be a problem with the classpath?
"java.jdt.ls.vmargs": "-noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication -javaagent:"/home/reinhard/.vscode/extensions/gabrielbb.vscode-lombok-0.9.4/server/lombok.jar" -Xbootclasspath/a:"/home/reinhard/.vscode/extensions/gabrielbb.vscode-lombok-0.9.4/server/lombok.jar"",
This is from my settings
The paths are correct.

Keep the classes generated when VSCode it's closing and reopen

As per user I want to keep all the time the classes generated with lombok.

My issue is each time when I close and reopen the VS Code I need to open again all classes in order to generate classes again.

That behavior is really odd, maybe I did something wrong.

Thanks

Makes redhat for vscode super slow

After installing this autocompletion and error checking will randomly come to a near halt without restarting vscode. It'll get to a point that it would be faster for me to manually type out my imports than wait for a suggestion to appear. The same seems to happen randomly with code completion. These weren't issues until I installed lombok to try out.

Link getter/setter to field not annotation

When Ctrl+Clicking a getter or setter a better behaviour would be to link directly to the field in question and not the annotation on the class.

The same would apply for the Builder in my opinion.

Uninstall vscode-lombok on Windows 10 doesn't revert the changes made on the user settings

Platform:

Version: 1.31.0 (user setup)
Commit: 7c66f58312b48ed8ca4e387ebd9ffe9605332caa
Date: 2019-02-05T22:35:56.624Z
Electron: 3.1.2
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17763

Repro steps:

  1. Install vscode-lombok and the user settings is chanaged with lombok jar package.
  2. Uninstall vscode-lombok

Expected:
The added lombok.jar will be reverted from the user settings.

Actually:
The user settings is untouched, which cause the language server crashed.

Outline Support

Thanks a lot for the extension! From what I can tell, it doesn't seem like this populates the outline with the generated methods, as eclipse or Intellij does. Could this be supported?

Uninstall vscode-lombok extension should clean up the javaagent from java.jdt.ls.vmargs

Tried latest VS Code 1.47.1 in both Windows 10 and macOS, the uninstall logic doesn't work. The vmargs keeps the same after uninstall vscode-lombok. Fully restart VS Code has the same behavior. This will break the startup of vscode-java extension after i choose to uninstall and remove vscode-lombok extension.

Also, i see some other potential issues with the current implementation:

  • The current uninstall hook doesn't work in the latest VS Code.
  • The current uninstall hook just hard code the settings.json location for Code, it doesn't cover Code - Insiders.
  • The scope of "java.jdt.ls.vmargs" is window scope, that means it can be shared with remote machine for remote scenarios. But actually the javaagent is a machine specific location, that doesn't work in remote machine.

Modifying vmargs looks some kind of hack, an ideal way is probably passing the javaagent args to Java Language Server dynamically. For example, define the location in package.json, and tell vscode-java to read the args before activating.

Duplicate method for usage of multile annotations

Hello,

I have the problem that VS Code marks all the combination of @requiredargsconstructor and @NoArgsConstructor with the error: "Duplicate method XXX() in Type XXX

VS Version: 1.31
Java Extension Pack
Spring Boot Extention Pack
Lombok

Here is a example:

`package de.schleissheimer.remoteview.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import io.micrometer.core.lang.NonNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;

@entity
@table(name="company")
@DaTa
@requiredargsconstructor
@NoArgsConstructor
@builder
public class Company {

@id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@column(name ="idCompany")
@nonnull
private Long id;

@nonnull
private String name;

}`

How to find the call hierarchy

I am not able to find the call hierarchy of getter and setter generated by the lombok. I can see those getter and setter method in outline view of VS code but not able to search for the call hierarchy.

Error: Could not find or load main class Spring.Boot JDK10

I've been having issues debugging applications when the Lombok plugin is enabled (it throws a ClassNotFoundException).

Error: Could not find or load main class com.tangoe.con.migrationserver.MigrationServer
Caused by: java.lang.ClassNotFoundException: com.tangoe.con.migrationserver.MigrationServer

When I uninstall the plugin I can again debug through the java debugger.
I'm using JDK 10 with a spring.boot application. My debug configuration in launch.json is the default that was generated (and worked prior to installing this plugin):

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [{
        "type": "java",
        "name": "Debug (Launch)-MigrationServer<migrationserver>",
        "request": "launch",
        "cwd": "${workspaceFolder}",
        "console": "internalConsole",
        "stopOnEntry": false,
        "mainClass": "com.tangoe.con.migrationserver.MigrationServer",
        "projectName": "migrationserver",
        "args": ""
    }]

I have not configured Lombok in any way and use the typical Microsoft Java Extension Pack and Red Hat language support for Java (which might've come with it).

I'm running VS Code on a MacBook (High-Sierra 10.13.6) with:

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

I believe I installed the JDK through homebrew and use jenv (have multiple JDKs but its all set to the above now).

Errors in workspace until opening all source files with lombok annotations

Opening a project that has several files using lombok annotations will result in many errors displayed in the "Problems" tab.
Clicking on one of the errors, which opens the file will resolve the errors for that file. Once each file with lombok annotations was opened, the "Problems" tab does not show errors anymore.
Unfortunately, closing VC Code and reopening the project brings all errors back.

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.