Skip to content

Form controller bricks intellsense for rest of session #62192

@ProgramPhantom

Description

@ProgramPhantom

Type: Bug

I have a scenario which is causing Intellisense to break (stuck on "Loading IntelliSense status" indefinitely), meaning I cannot continue development.

My situation:

I am creating a react project using react-hook-form to create a form for a complicated object, hence I am using useFormContext to allow me to nest react function components. My code is as follows:

import { Controller, useFormContext } from "react-hook-form";
import { LargeInterface } from "./somewhere";

interface smallDataStructure {
    name: string
}

const ChannelForm: React.FC = () => {
    const formControls = useFormContext<smallDataStructure>();  // <--- this does not break vscode
    // const formControls = useFormContext<LargeInterface>();  <-- this breaks vscode

    return (
        <Controller control={formControls.control}></Controller>
    )
}

I have narrowed the problem down to giving the useFormContext a generic parameter (which is used to give a type to the field values) which is a very large interface made up of multiple layers of inheritence (I can provide further information on this when necessary). When I use a small interface as depicted above, there is no problem. When I change the code to use the data scructure I need, the line <Controller control={formControls.control}></Controller> can no longer be written without VS bricking for the rest of the session, only fixing when I restart the application (this specifically happens when I write the "control={formControls.control}").

The technologies I am using:

  • React.js with Vite
  • typescript
  • react-hook-form

The typescript engine appears to be unable to handle whatever problem is occurring here. The datastructure I am trying to use as a generic is complex and made up of multiple layers of inheritance, it includes mostly simple datatypes, but also an array of a user defined class objects. This is what is causing the problem! My "LargeInterface" interface looks as follows:

interface LargeInterface inherits MoreSimpleDatatypes {
    objs: LargeObject[],
    // ... other simple datatypes
}

where LargeObject is, as the name would suggest, a deeply inherited class. I've tried reproducing this with a simple class, but to no avail. There is something about my LargeObject in particular which it does not like. It is probably the case that I am not meant to be using a class as the FieldValues type, but nevertheless, vscode cannot provide the suitable error message in this scenario.

What I've tried:

  • Change VS code version, use insiders
  • COMPLETELY uninstall all VS code versions from my PC
  • Deactivate all plugins
  • Change ts version
  • Recreate file
  • Cleared any cache I could find
  • Reclone repo
  • Deactivate copilot

Help would be greatly appreciated as I cannot develop on VS code with this problem.

VS Code version: Code - Insiders 1.103.0-insider (994be4137aaf18f2703037311dd1c56a8446ef8b, 2025-08-01T20:53:15.562Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info
Item Value
CPUs AMD Ryzen 5 3600 6-Core Processor (12 x 3600)
GPU Status 2d_canvas: enabled
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Load (avg) undefined
Memory (System) 15.93GB (4.73GB free)
Process Argv --crash-reporter-id cc3d998a-aad8-47bd-8ea7-f068b3586619
Screen Reader no
VM 0%
Extensions (5)
Extension Author (truncated) Version
vscode-containers ms- 2.1.0
remote-containers ms- 0.424.0
remote-wsl ms- 0.99.0
code-spell-checker str 4.2.3
vscode-icons vsc 12.14.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Domain: PerformanceReports of unusually slow behaviorNeeds More InfoThe issue still hasn't been fully clarified

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions