News

Visual Studio IntelliCode Still Among Top AI Code Assistants

In the age of GitHub Copilot, ChatGPT, Google Gemini and all the rest, one of the most-used AI coding assistants is still the venerable IntelliCode feature of Microsoft's Visual Studio IDE, whose six-year-old tech now seems positively ancient.

A recent survey from Stack Overflow, probably the go-to help resource for devs, revealed this surprising finding when examining code assistants as part of its Stack Overflow Knows series, this one focusing on "Developers and AI at work."

While the report is general in nature, addressing several aspects of the usage of CodeGen tools (its TLDR was "Developers are highly satisfied with AI tools that are easy to use and make them feel productive, but inaccuracy and understanding complexity remain challenges"), the surprising popularity of IntelliCode is of particular interest to Visual Studio Magazine readers.

"We found that most of those using code assistant tools report that these assistants are satisfying and easy to use and a majority (but not all) are on teams where half or more of their coworkers are using them, too," SO said. "These tools may not always be answering queries accurately or solving contextual or overly specific problems, but for those that are adopting these tools into their workflow, code assistants offer a way to increase the quality of time spent working."

When asked what coding assistants they used, professional developers overwhelmingly reported ChatGTP (84 percent) followed by GitHub Copilot (49 percent), with IntelliCode unexpectedly taking the bronze medal (albeit with a big drop off in respondents at 11 percent).

Primary Coding Assistants for Pros
[Click on image for larger view.] Primary Coding Assistants for Pros (source: Stack Overflow).

SO discussed how cost and experience influence the choice of code assistants, including the baked-in IntelliCode.

"There are more code assistant tools being released everyday, though two are dominating the space so far: ChatGPT and GitHub Copilot," SO said. "Professional developers and those learning to code are equally likely to be using ChatGPT, but those learning are less likely to be using GitHub Copilot (29 percent vs. 49 percent). Given that ChatGPT offers a popular free option and GitHub Copilot offers a time-limited free trial, this makes sense. Visual Studio IntelliCode is more popular with those learning (16 percent vs. 11 percent), as there is a free version of this IDE for those not using an enterprise license."

Still, the numbers are quite similar for pros and learners.

Primary Coding Assistants for Learners
[Click on image for larger view.] Primary Coding Assistants for Learners (source: Stack Overflow).

While IntelliCode, introduced in 2018 (see "Microsoft Brings AI to Visual Studio with IntelliCode"), is showing its age after OpenAI changed everything with ChatGPT, Microsoft has been keeping the tool updated even as it courted OpenAI and leveraged its tech for GitHub Copilot (GitHub is owned by Microsoft) and the subsequent generation of Copilots of all kinds that is changing the very DNA of Microsoft's software products and services.

For example, in April 2023 Microsoft infused IntelliCode with deep learning tech (see "Visual Studio IntelliCode AI Assistant Gets Deep Learning Upgrade"). Later that year, that effort paid off for Python programmers (see "IntelliCode Advances with First Deep Learning Model for Python in VS Code").

Even before those updates, IntelliCode impressed developers with its pre-Gen AI capabilities (see "Exploring the 'Almost Creepy' AI Engine in Visual Studio 2022").

Even so, it seems logical that tech based on the large language model (LLM) Gen AI approach will become baked in completely to the IDE in some form or another, with some name or another. The same might happen for VS Code, whose IntelliCode extension has been installed some 43.5 million times.

ChatGPT compared and contrasted IntelliCode with the new wave of Gen AI tools:

Microsoft's IntelliCode is an AI-assisted coding tool integrated into Visual Studio and Visual Studio Code. It leverages machine learning models trained on thousands of high-quality open-source GitHub repositories to provide context-aware code suggestions, such as auto-completions, refactoring recommendations, and coding style adherence.

Relationship to Generative AI (e.g., ChatGPT)

  • Generative AI (ChatGPT): Uses LLMs, specifically GPT (Generative Pre-trained Transformer), to generate human-like text based on massive datasets.
  • IntelliCode: Employs machine learning models trained on code-specific datasets. It doesn't generate text in the same way as GPT but instead uses predictive models to suggest code completions and improvements.

Differences in Backing Technologies

  • ChatGPT and AI Coding Assistants:
    • LLMs: These models, such as GPT-4, are trained on vast amounts of textual data across various domains. They generate coherent text by predicting the next word in a sequence.
    • Transformers Architecture: The architecture allows for the handling of long-range dependencies in text, making it suitable for complex text generation tasks.
  • Microsoft IntelliCode:
    • Custom Machine Learning Models: IntelliCode uses models trained specifically on high-quality code repositories, focusing on coding patterns and best practices.
    • Training Data: Primarily code-centric datasets, which help the models learn coding conventions, common patterns, and context-specific recommendations.
  • In essence, while both technologies utilize AI to enhance productivity, their core methodologies and applications differ significantly. ChatGPT's generative capabilities are broader and more text-focused, whereas IntelliCode's predictive models are specialized for code enhancement and developer assistance.

    Meanwhile, in examining the current state of AI coding assistants, SO's report sports data points including:

    • The majority of respondents (76 percent) let us know they are using or are planning to use AI code assistants.
    • Some roles use these tools more than others amongst professional developers: Academic researchers (87 percent), AI developers (76 percent), frontend developers (75 percent), mobile developers (60 percent), and data scientists (67 percent) currently use code assistants the most.
    • Other roles indicated they are using code assistants (or planning to) much less than average: data/business analysts (29 percent), desktop developers (39 percent), data engineers (39 percent), and embedded developers (42 percent).
    • The tools that are more satisfying to use also rank high for being easy to use: the top-box scores for easiest to use are Codeium (84 percent), GitHub Copilot (76 percent) and ChatGPT (61 percent) respectively and the same three in order were ranked for top-box satisfaction scores (86 percent, 72 percent, 65 percent respectively).
      Productivity vs. Satisfaction
      [Click on image for larger view.] Productivity vs. Satisfaction (source: Stack Overflow).
    • 38 percent of developers report code assistants provide inaccurate information half of the time or more.
    • With the time saved by using coding assistants, the largest plurality of developers (27-29 percent dependent upon adoption rate) reported they do "More high-level strategic work projects."

    "The nature of working as a developer is complex and dynamic," SO concluded. "Even if productivity isn't yet clearly articulated as a business KPI, developers are highly satisfied with AI tools that are easy to use and make them feel productive, and teams are slowly beginning to incorporate these tools into their workflows.

    "Complexity and inaccuracy remain challenges when it comes to widespread adoption and use of code assistants, but perhaps developers on teams with lower adoption rates may actually be using the time they gain from coding assistants to engage in more creative work. This also could be a turning point where the long-term investment of an elevated experience at work becomes more important than near-term improvements on productivity metrics."

    The report, published May 29, is based on a survey of more than 1,700 people in the SO community.

    About the Author

    David Ramel is an editor and writer at Converge 360.

    comments powered by Disqus

    Featured

    • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

      The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

    • Diving Deep into .NET MAUI

      Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

    • Copilot AI Boosts Abound in New VS Code v1.96

      Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

    • AdaBoost Regression Using C#

      Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

    • Versioning and Documenting ASP.NET Core Services

      Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

    Subscribe on YouTube