Code change:
Hi, I am a bit new, and I have a simple code example on VS Code v1.32.3. It says I have an error, ok fine..... but then when I chose the "Quick Fix" option there is never a Quick Fix for this or any other thing in the past I tried to do a quick fix on. Whats the point of having a Quick Fix feature, if it doesn't do anything ? Im a bit confused. . This is the code I tried to do a quick fix on (its an extremely simple code): . ! When I try to fix, I get this: . !
I also get this issue for Python but seems to apply to any language. I have the Python extension as well as Intellicode. Still a current issue with 1.33 (Insiders) with the latest update.
Quick Fix... action is shown even when there are no quick fixes (code actions) available. May be it can hidden then.
Optimally, an actual corrective action would be taken (or at least suggested) based on the feedback provided by the language extensions (Python and Intellicode for my use-case).
Same here, I always get the "No code actions available" when I try to Quick Fix my code, no matter the language used, and even if I have no extension installed. ! ! I do not really know why it is not working, but I can't get to remember since when this bug is occurring to me ( I remember last summer it was okay, and I think during December too while I was working on an Angular Project )
Our C/C++ extensions does have lightbulb code actions for the error squiggle, but the quick fix still says "no code action" available -- is that a bug? Let us know if our extension isn't doing something correctly. I didn't understand the docs at . ! !
Can you please provide simple steps to repro this?
It occurs when you have a .c or .cpp file with text . We report the squiggle message via textDocumentpublishDiagnostics and the code action from textDocumentcodeAction. Do we need to do something special to associate the code action with the squiggle's QuickFix?
Quick Fix action asks for all code actions in that diagnostic range and of kind . What kind are your quick fix code actions?
Okay thanks a lot for informing us -- the "CodeActionKind" type is completely new to us. Our code action just returns a Command and not the additional info like the CodeActionKind. I filed a work item for us at . We have a lot of "catching up" to do with the LSP updates.
I have had this issue for weeks with C#, and I finally figured out that it was just the menu. Basic stuff where it used to suggest "using System;" no longer showed up. After reading this issue, I tried the command and the keyboard shortcut works but not the menu. This image shows what happens when clicking the "Quick fix..." menu: <img width="387" alt="screenshot from menu" src="https://user-"And this is what shows when pressing : <img width="414" alt="screenshot from keyboard" src="https://user-"This looks similar to the screenshots from and .
Seriously kills productivity, I am reinstalling PyCharm
Looks like C# extension is also not using the code action kind for their code actions. Probably we have to show all code actions for the given range.
I see the same issue with JSHint/JavaScript. ! !
The same thing (No code actions available) with PowerShell.
Same issue with TypeScript in .tsx file. ! !
This has been nearly two months! any fixes for this ? I'm having this issue in the latest version as well(Python)!
This feature becomes very important when you're upgrading code from a legacy version (such as Python 2) to the updated version (Python 3). I'm sure there are other languages have similar stipulations such as converting C to C++ or C# or vice versa (or even C# to C++ and vice versa).
I also have this issue, and this is very important when create the new project, but the works for me!
I also had this issue and only learned today from some searching that (on Linux) brings up the quick fix list of actual working suggestions EDIT: As shows below, that's the same issue I find when hovering using C#
This doesn't seem to be a problem for C# in my case atm (I'm using Unity/Mono). I exclusively use though.
I get the same with Powershell. ! ! However selecting it and press ctrl+. gave me the suggestion !
On a Mac, the Quick Fix shortcut appears to be ⌘. (Command + Period). It would be super helpful if we could get the quick fix to appear on mouse hover, though!
Hello there, I have the same problem since today. Quick fix was working a week ago but now clicking on "quick fix" and then clicking on suggestion do nothing. But if I use ctrl+; to show suggestion it work.
Just to clarify what was fixed by : we now only show the button in the hover if we know for sure that that quick fixes are available. A few extensions provide quick fix style code action but do not explicitly mark them as quick fixes. Those code actions will show up in the lightbulb menu but not if you click in errors hovers (because we only want to show code actions that we know for sure will fix something). Extensions must mark their quick fix code actions as  to have them show up in the problem hover menu too
can you verify that the python extension is good in this regard?
I took a look at my installed extensions and noticed the C# extension was complaining that it needed to be reloaded. Hmm, so check your extensions list first. This is what I was presented after clicking reload. Notice the version I'm running as of today's date stamp after I reloaded the C# extension. I hope this helps some of you. ! ! ! Be sure to click on the instance first, then use ctrl+. for windows ! You should now see the using statement, for example like on line 1 !

Related discussion:
text: } })); } <ins> const quickfixPlaceholderElement = dom.append(actionsElement, $('div')); quickfixPlaceholderElement.style.opacity = '0'; quickfixPlaceholderElement.style.transition = 'opacity 0.2s'; setTimeout(() => quickfixPlaceholderElement.style.opacity = '1', 200); quickfixPlaceholderElement.textContent = nls.localize('checkingForQuickFixes', "Checking for quick fixes..."); disposables.add(toDisposable(() => quickfixPlaceholderElement.remove())); const codeActionsPromise = this.getCodeActions(markerHover.marker); disposables.add(toDisposable(() => codeActionsPromise.cancel())); codeActionsPromise.then(actions => { quickfixPlaceholderElement.style.transition = ''; quickfixPlaceholderElement.style.opacity = '1'; if (!actions.actions.length) { actions.dispose(); quickfixPlaceholderElement.textContent = nls.localize('noQuickFixes', "No quick fixes available"); return; } quickfixPlaceholderElement.remove(); let showing = false; disposables.add(toDisposable(() => { if (!showing) { actions.dispose(); } })); disposables.add(this.renderAction(actionsElement, { label: nls.localize('quick fixes', "Quick Fix..."), commandId: QuickFixAction.Id, run: (target) => { showing = true; const controller = QuickFixController.get(this._editor); const elementPosition = dom.getDomNodePagePosition(target); controller.showCodeActions(actions, { x: elementPosition.left + 6, y: elementPosition.top + elementPosition.height + 6 }); } })); }); </ins> this.renderDisposable.value = disposables; return hoverElement; } private getCodeActions(marker: IMarker): CancelablePromise<CodeActionSet> { <del> const noAction: CodeAction = { title: nls.localize('editor.action.quickFix.noneMessage', "No code actions available"), kind: CodeActionKind.QuickFix.value, }; return createCancelablePromise(async (cancellationToken): Promise<CodeActionSet> => { const result = await getCodeActions( </del> <ins> return createCancelablePromise(cancellationToken => { return getCodeActions( </ins> this._editor.getModel()!, new Range(marker.startLineNumber, marker.startColumn, marker.endLineNumber, marker.endColumn), { type: 'manual', filter: { kind: CodeActionKind.QuickFix } }, cancellationToken); <del> return { actions: result.actions.length ? result.actions : [noAction], hasAutoFix: result.hasAutoFix, dispose: () => result.dispose(), }; </del> }); }