Turning Off Visual Studio 2022 Intellicode Complete Line Intellisense

A big reason people who develop in .NET languages rave about Visual Studio being the number one IDE, is auto complete and intellisense features. Being able to see what methods/properties are available on a class or scrolling through overloads of a particular method are invaluable. While more lightweight IDE’s like VS Code are blazingly fast.. I usually end up spending a couple of hours setting up extensions to have it function more like Visual Studio anyway!

That being said. When I made the switch to Visual Studio 2022, there was something off but I couldn’t quite put my finger on it. I actually switched a couple of times back to Visual Studio 2019, because I felt more “productive”. I couldn’t quite place it until today.

What I saw was this :

Notice that intellisense has been extended to also predict entire lines, not just the complete of the method/type/class I am currently on. At first this felt amazing but then I started realizing why this was frustrating to use.

  1. The constant flashing of the entire line subconsciously makes me stop and read what it’s suggesting to see if I’ll use it. Maybe this is just something I would get used to but I noticed myself repeatedly losing my flow or train of thought to read the suggestions. Now that may not be that bad until you realize…
  2. The suggestions are often completely non-sensical when working on business software. Take the above suggestion, there is no type called “Category”. So it’s actually suggesting something that should I accept, will actually break anyway.
  3. Even if you don’t accept the suggestions, my brain subconsciously starts typing what they suggest, and therefore end up with broken code regardless.
  4. And all of the above is made even worse because the suggestions completely flip non-stop. In a single line, and even at times following it’s lead, I get suggested no less than 4 different types.

Here’s a gif of what I’m talking about with all 4 of the issues present.

 

Now maybe I’ll get used to the feature but until then, I’m going to turn it all off. So if you are like me and want the same level of intellisense that Visual Studio 2019 had, you need to go :

Tools -> Options -> Intellicode (Not intellisense!)

Then disable the following :

  • Show completions for whole lines of code
  • Show completions on new lines

After disabling these, restart Visual Studio and you should be good to go!

Again, this only affects the auto-complete suggestions for complete lines. It doesn’t affect completing the type/method, or showing you a method summary etc.

ENJOY THIS POST?
Join over 3,000 subscribers who are receiving our weekly post digest, a roundup of this weeks blog posts.
We hate spam. Your email address will not be sold or shared with anyone else.

12 comments

  1. Autocompletion is really handy, but I’m new to C# and I want to practice and remember things on my own. Thank you for telling me how to turn it off!

  2. Thanks for the instructions on how to turn this off. My reason though is for possible legal issues.
    As I noticed someone mentioning on another site, what are the copyright implications when using suggestions from IntelliCode. It says on the Visual Studio website ” IntelliCode recommendations are based on thousands of open source projects on GitHub”. What are these projects? What are their license agreements? This could mean that attribution at least and a license at worst, has to be added for each IntelliCode suggestion you use. Whilst in the US this may be OK under fair use, in other countries like Australia where I live, things are not so clear cut.

  3. The real issue I found was that it requires the use of the tab key, which if you have justart started making a new function may find yourself pressing to indent, and suddenly you’ve inserted a bunch of new code.
    I was actually ok with keeping this on, but finding out how to rebind the keys was much harder than just pressing the cog at the end of the text and disabling it.

  4. Thank you for helping me getting rid of this silly feature. Artificial Intelligence and Deep Learning are interesting scientific topics, but in practice, they are not really applicable in most cases. So when I type a parameter like Boolean fMaster, IntelliCode suggests a follow-up parameter Boolean fSlave, which is a nice guess, but quite probably not what I’ve had in mind. There are many other suggestions, which look smart, but are nonsense in the context of my code.

    The biggest problem though is that they use the Tab key as default for accepting the suggestions. I’m using the Tab key for formatting, so I frequently accept suggestions without wanting to, just because I’m indenting something. That’s very distracting.

Leave a Reply

Your email address will not be published.