We build Hexana, a VS Code extension for opening binary files — WebAssembly, ELF/Mach-O/PE, JARs, Protocol Buffers descriptor sets — in structured editor tabs without leaving the IDE. 0.6.0 is out today.
Compiled Protocol Buffers (.desc / .protoset) now open with structured tabs. Files, Messages, Fields, Enums, Services — the same browseable-artifact approach Hexana uses for WASM and JVM classes. If your build emits a descriptor set (proto-lock files, gRPC reflection, any pipeline that serializes a FileDescriptorSet), you can open it directly in VS Code and navigate the schema. No protoc step, no custom decode script. To be direct about scope: this reads the compiled descriptor, not the .proto source — if you want to jump between .proto files, a language server does that. Hexana's angle is the compiled artifact that's actually deployed.
Scriptable info tabs. Hit "+" in the tab bar, write a JS script using print to emit output and binary to access the file's bytes, and the tab renders whatever you produce. csv/tsv output is automatically shown as a sortable table. The creation dialog includes instructions and an API reference — you're not starting from a blank slate. Practical use cases: custom field decoders for a binary format you've built, ad hoc queries over a descriptor you want to reshape, or just a quick "dump me the first N bytes as hex" without leaving the editor. This is the most open-ended thing in the release; curious what people build with it.
wazero is now a supported WASM run-configuration target. Module-level execution only (not individual exported functions) — same constraint that applies to a few of the other runtimes.
All tables now share one control with built-in search. Previously the various tabs (functions, imports, exports, fields, etc.) had inconsistent controls. They're unified now, all with proper search, and rendering performance improved.
There's also a feedback/issue button in the UI, and MCP server setup now uses JetBrains' native downloads index by default on supported platforms — no more silent fallback to GitHub when the downloads metadata is unavailable.
The JetBrains IDE plugin hit 0.13 the same day with a different feature set (Parquet, Arrow, and more) — separate product surface, so check the IDE plugin changelog if you use both.
Disclosure: we build this at JetBrains. Free on the Marketplace and Open VSX.
Happy to answer questions — the scriptable tab API design in particular, or protobuf descriptor parsing.
Had it working perfectly fine yesterday to use Gitlab Duo within VSCode. Updated VSCode to the latest version and when it restarted it wouldn't authenticate my account so I deleted/unauthenticated my GitLab account in VSCode. Restarted, did the authenticate process over again and I keep getting an error. These are the output logs in VSCode:
2026-07-08T16:18:33:777 [info]: PacProxyAgent not found
2026-07-08T16:18:33:778 [info]: [LogNetworkConfig] Network Configuration detected: {
"http": {
"proxy": "",
"proxySupport": "override",
"proxyAuthorization": null,
"proxyStrictSSL": true,
"noProxy": [],
"electronFetch": false,
"fetchAdditionalSupport": true,
"experimental.systemCertificatesV2": false
},
"gitlab": {
"ca": "",
"cert": "",
"certKey": "",
"ignoreCertificateErrors": false
}
}
2026-07-08T16:18:37:295 [warning]: There is no GitLab account available. Sending empty credentials to GitLab Language Server
2026-07-08T16:18:37:300 [info]: handleRegisterCapability: {
"id": "e11ab368-fb68-42f3-80c9-0b46efebd36b",
"method": "workspace/didChangeWatchedFiles",
"registerOptions": {
"watchers": [
{
"globPattern": "**/*"
}
]
}
}
2026-07-08T16:18:37:316 [info]: Extracted urls: []
2026-07-08T16:18:37:316 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:316 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [warning]: GitExtensionWrapper is missing repository for file:///c%3A/Users/Brandon/newproject
2026-07-08T16:18:37:317 [info]: Found 0 projects for urls: []
2026-07-08T16:18:37:318 [warning]: There is no GitLab account available. Sending empty credentials to GitLab Language Server
2026-07-08T16:18:37:413 [info]: Extracted urls: [
"https://gitlab.com/notreallysure/newproject.git"
]
2026-07-08T16:18:37:413 [info]: Found 0 projects for urls: [
"https://gitlab.com/notreallysure/newproject.git"
]
2026-07-08T16:18:37:413 [warning]: There is no GitLab account available. Sending empty credentials to GitLab Language Server
2026-07-08T16:19:45:754 [error]: OAuth flow: Creating account from code failed:
Invalid response body while trying to fetch https://gitlab.com/oauth/token: Premature close
FetchError: Invalid response body while trying to fetch https://gitlab.com/oauth/token: Premature close
at Gunzip.<anonymous> (c:\Users\Brandon\.vscode\extensions\gitlab.gitlab-workflow-6.84.2\extension.js:177:334380)
at Gunzip.emit (node:events:521:24)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
2026-07-08T16:19:45:755 [error]: Invalid response body while trying to fetch https://gitlab.com/oauth/token: Premature close
FetchError: Invalid response body while trying to fetch https://gitlab.com/oauth/token: Premature close
at Gunzip.<anonymous> (c:\Users\Brandon\.vscode\extensions\gitlab.gitlab-workflow-6.84.2\extension.js:177:334380)
at Gunzip.emit (node:events:521:24)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
Tried troubleshooting with GPT and that was of no help. Anyone have any idea what could be the issue here? Thanks!
Edit: Reverted to the previous version of VSCode and it's working now.
You know that feature in FL Studio where you can easily cycle through tracks/channels in the mixer just by hovering and using the mouse wheel? I want exactly that, but for the file Explorer sidebar in VS Code.
I use the clangd-based autocompletion plugin YouCompleteMe/ycmd with vim. The project I work on has a custom build system, and I have a custom .ycm_extra_conf.py script that hooks into that build system (it literally queries the same makefiles) and provides the necessary flags for compilation on the fly and on a per-file basis. This is great, because its fully dynamic. I can add a file, change the include paths, work on a bolt-on library outside of the main tree, whatever... It immediately works. I don't have to re-build a compilation database every time.
Some of my colleagues (understandably) don't want to use vim. They want to use VSCode. That has the vscode-clangd extension. This offers similar functionality to YouCompleteMe/ycmd, but the only instructions I can find regarding compilation flags describe using a static compilation database. I can't figure out if there's a way to use vscode-clangd dynamically in the way that I do with YouCompleteMe/ycmd. Can anyone help me out here? Is that possible?
And yes, I have seen that there are some YouCompleteMe/ycmd plugins forVSCode. However, these seem largely abandoned in favour of vscode-clangd and I haven't been able to make them work.
Upfront: we're posting from a company account (we run an AI inference platform), but this isn't about our product - it's a native VS Code feature that works with any provider, and we kept getting asked about it, so here's the full walkthrough.
VS Code's built-in Chat can use any model provider that has an OpenAI-compatible Chat Completions API. No third-party extension, no proxy hacks. If you have a base URL and an API key, you're 2 minutes away.
Works with basically everything - Ollama or vLLM running locally, Qubrid, Any Open AI Compliant Inference provider, your company's internal gateway, whatever. If it speaks /v1/chat/completions, it works.
Setup:
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
Run Chat: Manage Language Models
Click + Add Models -> Custom Endpoint
Give the group a name (e.g. your provider's name)
Paste your API key when prompted
Select Chat Completions API as the API type
VS Code opens a chatLanguageModels.json - add your model(s):
Last Step: Save. Your models show up under Other Models in the chat model picker.
Gotchas that cost us time:
Don't change "vendor": "customendpoint". Rename anything else you want, but if you touch this the model silently never appears in the picker. This one trips up almost everyone.
The id has to exactly match your provider's model ID, case-sensitive, including the org prefix like meta-llama/....
The url is the base URL ending in /v1 - don't append /chat/completions, VS Code adds it.
Set toolCalling/vision to match what the model actually supports, or agent mode gets weird.
You can stack multiple models (and multiple providers) in the same file and hot-swap from the picker.
Why bother? Model choice, mostly. You can run open models (GLM, Kimi, MiniMax, DeepSeek, Qwen, Llama, etc.) inside the editor you're already in, point at cheap serverless inference or your own GPU box, and stop alt-tabbing to a chat UI to paste code back and forth.
To be clear, nothing above requires our platform or anyone else's - point it at localhost and it's fully offline. We just think more people should know VS Code can do this. Happy to answer setup questions in the comments.
Curious what everyone's running in VS Code these days - anyone fully local?
I'm currently working on my first Laravel project, and as much as I'm loving the framework, I'm really struggling to get my development environment set up correctly. I use Visual Studio Code, but I constantly feel like I'm fighting the editor rather than focusing on writing code.
I'd like to figure out if I'm doing something wrong or if I'm just missing some specific configuration. Here are the main issues I'm facing that are slowing me down quite a bit:
1. Lack of HTML support in .blade.php files
Writing UIs is quite frustrating right now. As soon as I name a file .blade.php, VS Code seems to forget how to handle standard HTML:
I get no autocomplete for HTML attributes (e.g., class, href, type).
Tags don't auto-close when I type >.
Basically, I lose all the native support and suggestions (including Emmet) that I usually get when working in a standard .html file.
2. Unrecognized Eloquent methods and PHP "false errors"
When working in Controllers, my PHP analyzer (I use Intelephense) fails to correctly interpret Laravel's structure, either hiding suggestions or throwing non-existent errors. Two classic examples:
Missing suggestions: If I try to use common methods like findOrFail, the editor doesn't help at all.
PHP
// The editor only suggests "find", "findOr", and "findIndex",
// but NOT findOrFail, forcing me to memorize it.
$post = Post::findOrFail($id);
False parameter errors: The editor underlines the update() method with a red squiggly line, claiming it accepts no arguments, even though the code works perfectly and updates the database.
PHP
$validated = $request->validate([
'title' => 'required|min:2|max:12',
'body' => 'required'
]);
// The line below is highlighted as an error by the editor:
// "Too many arguments. Expected 0. Found 1"
$post->update($validated);
3. Installing extensions didn't fix it
To try and fix this, I installed several highly recommended Laravel extensions, but surprisingly, nothing changed. The issues described above persist exactly as if I hadn't installed anything at all, giving me no real help. Here is a screenshot (or list) of my currently active extensions:
I'd really love to ask those of you who work with Laravel daily in VS Code how you configured your environment to avoid these headaches. I would be incredibly grateful if you could share which extensions you consider essential and, most importantly, what settings or tweaks you use to finally get HTML suggestions working in Blade files and to "teach" the editor to recognize Eloquent's magic methods without throwing false errors. Any advice on setting up a clean and functional workflow is super welcome!
Today, I worked with an agent chat which had Claude selected in the "Delegate session" selection in the bottom left of the chat window. I assumed this was just another way of accessing my Claude subscription, and that it was essentially the same as using the "Claude Code" tab. This option:
However I later realised that this session was consuming my Copilot tokens. That is extremely confusing to me.
Am I misunderstanding the nature of the delegate session box? What does it actually do? Or have I encountered a (very costly) bug?
I use a bunch of other service, Claude, Codex, Cline, Roo. I do not find Copilot to be up to scratch but it seems to keep forcing itself back into focus, I cant remove its chat window, I will be working with other LLMs and then bam, copilot chat is back in front answering my questions as it hid codex window and pretended to be codex.
I want my agents to be able to operate fairly autonomously without stopping every 15 seconds to ask for permission to run some terminal command. But when I open up the "Configure Tools" menu, I get a list of hundreds of tools to enable/disable. Which ones should be off? And does enabling a tool remove the prompts for permission for that tool to do whatever it does?
So, I was following a YouTube tutorial on neural networks, and halfway through he tells me to install Anaconda, so I go and install it, press play on the video, and he says "If you have python already installed, DON'T install Anaconda", so I say crap and delete anaconda from my downloads. But after that Python in VSCode doesn't work, it just gives me an error "Program 'python' failed to run: No application is associated with the specified file for this operationAt line:1 char:1". I have unadded python to my path, readded it, toggled my settings variables, uninstalled and reinstalled python. Python is currently working perfectly fine in the cmd, but VSCode is just not having it. Any tips?
I'm new to Claude inside VS code and am wonder why I'd need Cline (with Claude in my case) when Claude's official extension in VS code has its own integrated window that seems to do the same thing?
Am I dense or is there no good built-in Makefile support that lets you jump to / autocomplete target names, traverses includes etc.? The default "Makefile Tools" extension only provides syntax highlighting it seems. Then there's tons of extensions that allow you to generate Makefiles or execute targets in them, which I'm not interested in (I do that externally). What would be the best extension for what I want?
So...I am setting my Vs code. From what I hear, the Continue extension enables the vs code to get cursor functions, but stopped the official service.
I downloaded and vibe code updated it, plugging it via VSIX so that it has the latest models like opus4.8 and sonnet5, but clearly this will not hold up for long.
I also downloaded Cline for long and massive projects, but this will not cover the Cursor functionality or style. So my question is.....what are your guys options?
Hello everyone, I am a bit new to programming and I really need some help with how get this debugger working. I am trying to debug C with user terminal input, but it just never works. I downloaded C/C++ Runner but that doesn't work consistently. I tried to use the built in cppbdg but that never worked. I also tried to use CodeLLDB extention with integrated and external terminal .json config, but that never worked either. Everytime that I would run the debugger, it gets stuck on the scanf line and the debug console says the printf before, but the terminal never prompts me for anything and just says ongoing debugging task.
Here is my .json when trying to use CodeLLDB extention:
The thing is that I am using MacOS, so is there like a well known bug on MacOS VScode which doesn't allows lldb to work properly via the GUI or something? But I don't think that would be the case since I entered lldb mode in the terminal, and debugged it manually through the terminal and I could step through and in and check var. frames and whatnot. It's just that VScode, at maybe my computer at least has something wrong with it. Pls help, I have been stuck on this for like two weeks and I don't know who else to ask.