Oleg Tkachenko 🇺🇦

@olegtk.bsky.social

An engineer on the Microsoft VisualStudio team. Ukraine (Luhansk)🇺🇦→Israel🇮🇱→US🇺🇸. Opinions are solely mine.

VS Build 2026 is STACKED 🤖 • Agents that debug/profile/test with you • Pre-build error checks = fewer facepalms • AI merge-conflict assist 🙏 • Web Forms → Blazor modernization + Aspire boosts • BYOK/BYOM flexibility! 👉 Read the blog: buff.ly/xxeeZEM

spot art.
text reads: Microsoft Visual Studio

💥🎨 Hate me all you want, but colorized emojis are coming in Visual Studio 18.7. COLRv0 implemented at WPF layer so across all UI, not limited to editor. Also support for new-ish emojis added in Unicode 14.

screenshot illustrating colorized emojis in upcoming Visual Studio update

Claude Opus 4.7 in Visual Studio 🎉 ...bringing stronger reasoning, smoother edits, and a surprising amount of “wow, that actually understood my code” energy — all without leaving the IDE. Live since March 16, it’s built for big projects and devs who love a smart sidekick. Start ➡️ buff.ly/PWqZhFI

Bild

Your VS Code just got a fresh look! 🎨 The new default themes, VS Code Light and VS Code Dark, bring a modern, refined design while keeping the familiar usability you love. ⭐ Bonus: these themes automatically match your OS light/dark mode.

🎉 Visual Studio turns 29 today! Here’s to 29 years of: • IntelliSense magic • Build‑break heartbreak • Refactors that save the day • Extensions we can’t live without • An IDE that keeps evolving with us Happy birthday, Visual Studio — still the place where great code begins. 💜

Bild

If the state can label a law-abiding citizen doing nothing but exercising their rights as a domestic terrorist – in spite of overwhelming evidence to the contrary – then no one (regardless of political persuasion) is safe.

I think one of the subtler reasons senior developers are so excited about agents is the prospect of a coworker with absolutely no ego to bruise. I’d feel bad telling someone who worked for a week on something, “No, that’s not what I wanted, throw it out and start again.” No such problem with agents.

There seems to be an ongoing supply chain attack or suspicious activity on NuGet .org, where a user called darklord is trying to gain legitimacy or something by sending thousands of become owner of their packages requests, don't accept, report to @nuget.org #dotnet #nuget

Did you know Windows 11 has an option to end tasks right from the taskbar? 👀 So you don't need to open task manager - you can just right click the app and end it from there

A screenshot of a post from the PC master race subreddit, saying, today I learned this is a feature in windows 11. They include a picture of Settings > System > Advanced, with a circle around the end task option

China and Russia must be having a field day. They are the ones who benefit from divisions among Allies. If Greenland’s security is at risk, we can address this inside NATO. Tariffs risk making Europe and the United States poorer and undermine our shared prosperity. (1/2)

Boost .NET performance with C# Source Generators! Skip runtime reflection, enable AOT, and automate boilerplate for faster apps. Watch Jim Wooley’s session replay for logging, regex, JSON tips + Roslyn insights. 🔗 msft.it/63323t2EwP #dotnet #CSharp

C# Source Generators – Why and How

In this recorded Live! 360 session, you’ll learn how C# source generators work, why they matter, and how they can dramatically improve app performance by eliminating runtime reflection, reducing allocations, and enabling ahead-of-time (AOT) execution. Jim Wooley walks through real examples, from logging and regex optimization to JSON serialization, and shows how incremental generators improve build performance and keep generated code in sync as you type. You’ll also explore how to write your own source generator using Roslyn APIs, understand syntax trees and semantic models, and validate generators with unit tests. If you're building .NET apps and want to automate boilerplate, remove reflection, or tune your app for speed, this session gives you the foundations to get started. 🔑 What You’ll Learn • What source generators are and how they fit into meta-programming • How generators eliminate reflection and support AOT compilation • Real examples: logging, regex, JSON, validation, mappers • How incremental generators improve performance over older models • How to explore Roslyn syntax trees & semantic models • How to write your own generator using attributes & visitors • Unit testing and debugging approaches for source generators • Performance impacts and comparisons (AutoMapper, Mapster, mocking libs) ⏱️ Chapters 00:00 Intro + What source generators are & why they exist 02:54 Eliminating reflection and enabling AOT 05:44 How source generators differ from GenAI 08:05 Examples in .NET: logging, regex, JSON, validation 11:58 Demo: Logging generator & partial methods 14:46 Demo: Regex generator & performance benefits 16:14 Demo: JSON serialization generator 17:40 Live change-tracking: how generators respond to edits 19:20 Using attributes to trigger generation 20:00 Intro to Roslyn syntax trees & code analysis 26:05 Navigating syntax with the Syntax Visualizer 29:32 Understanding attributes & metadata via Roslyn APIs 31:00 Demo: Building a simple CSV generator 35:55 Classic (non-incremental) generator architecture 38:30 Walking the syntax tree & extracting semantic info 41:52 Generating new code with StringBuilder 43:10 Incremental generators & why they matter 45:30 Transformations, caching, and performance optimization 47:25 Using records and value semantics in generator pipelines 49:00 Executing generation & adding output to the compilation 50:55 Demo: Extended CSV generator with new properties 54:00 How to test generators with xUnit & Verify snapshots 58:30 Debugging generators (best practices & pitfalls) 1:01:00 How Roslyn builds trees, tokens, trivia & factories 1:01:49 When meta-programming makes sense (mapping, DTOs, reflection removal) 1:03:00 Performance comparisons (AutoMapper, Mapster, mocking frameworks) 1:06:20 Licensing, open source considerations & practical guidance 1:08:48 Q&A + extending the sample generator 1:10:03 Additional resources & where to go next 👤 Speaker: Jim Wooley Senior Principal, Slalom Consulting 🔗 Links • Jim's Roslyn Labs repo: https://msft.it/63325t2EwH • Explore more Live! 360 sessions: https://msft.it/63327t2EwJ • Check out upcoming VS Live! events: https://msft.it/63321t2Ew3 #csharp #dotnet #visualstudio #roslyn

msft.it

Exclusive: footage of a record number of Shahed takedowns in a single night 🚀 24 Shaheds downed — a national record held by a fighter with the callsign Miguel from the 1020th Anti-Aircraft Missile and Artillery Regiment.

In this quick how to... Jessie demonstrates two examples of how to leverage URL context with Copilot Chat to get tailored responses. Just by pasting in the url directly, you can take advantage specific resources to guide Copilot to the perfect result. 👀 msft.it/63321tmAdd

spot art. Photo of Jessie Houghton
text reads: Leverage urls as context for Copilot Chat

I don't mean to be divisive but to call it a computer's "natural scrolling"--which mimics the despicable Phone--and then to make it default? An outrage. Swiping down should scroll down, as was true since the dawn of time on the noble mouse scroll wheel