Setting Up VS Code for Tizen TV Development in 2026
If you have built Samsung TV apps at any point in the last decade, you know the ritual: download a multi-gigabyte Eclipse bundle, fight the Package Manager, discover your certificate expired, and lose an afternoon before writing a single line of code. That era is over. Tizen Studio is deprecated, and Visual Studio Code is now the supported way to build for Samsung TVs.
This guide is the full setup — every step, in order, with the specific traps that cost time. It assumes you want to ship a web app to a real TV, not just read about the tooling.
What actually changed
Samsung’s Tizen platform team began signalling this in Tizen Studio 6.1, where deprecation notices started appearing in the IDE itself. Deprecation became formal with Platform 10 / SDK 6.5. Legacy maintenance continued through the end of 2025, and after that point all new development moved exclusively to the VS Code environment.
The reasoning Samsung gives is worth reading directly, because it tells you where the tooling is headed: new features are increasingly developed exclusively for Visual Studio Code due to Tizen Studio’s limitations. The Tizen Extension for VS Code is now described as the primary IDE, intended to cover every function Tizen Studio had and then add more on top.
The practical consequences for you are simple:
- Nothing new is coming to Tizen Studio. Any feature you are waiting on will land in VS Code or nowhere.
- The VS Code path covers all three app types — web, native, and .NET — in one editor, alongside profilers, memory analysis, and static and dynamic analysis tools.
- Your existing projects transfer. Certificate management and device connection work the way you already expect. This is a tooling migration, not a rewrite.
If you maintain a Tizen Studio install today, it will keep working. It just stops improving.
The extension naming trap
This is the part that wastes people’s first afternoon, so deal with it before installing anything.
There are three plausible-looking Tizen extensions in the VS Code marketplace, and their names are close enough that picking wrong is easy.
| Extension | ID | What it actually is |
|---|---|---|
| Tizen Extension | tizen.vscode-tizen-csharp |
The core platform extension. This is the real Tizen Studio successor. |
| Tizen TV Extension | samsungtvsdk.tv-vscode-tizen |
The TV-specific layer that sits on top of the core extension. |
| Tizen TV | tizensdk.tizentv |
The older standalone web-app extension. Lighter, still useful, not the forward path. |
For TV development in 2026 you want the first two. Install the core extension and the TV extension together — the TV extension declares the core one as a hard dependency and will pull it in automatically if it is missing.
The third one, tizensdk.tizentv, is the extension most older blog posts and Stack Overflow answers refer to. It is not abandoned and it has one feature worth keeping around, which we will come back to. But it is not the stack Samsung is building on now.
One more precaution: check the publisher before you click Install. The TV extension’s publisher must read samsungtvsdk. Searching “Tizen TV” in the marketplace returns lookalikes, and installing the wrong one produces a confusing environment with no obvious error.
Prerequisites
The current core extension is dramatically lighter on prerequisites than Tizen Studio was. The supported operating systems are:
- Windows 10 or later, 64-bit
- Ubuntu 22.04 LTS or later, 64-bit
- macOS 12 (Monterey) or later
The important detail, and the one that surprises people coming from the old toolchain: the extension does not require any pre-installed SDK tools. There is no separate Tizen Studio install, no manual JDK version hunt, no PATH surgery. The extension manages its own components.
You will also want:
- A recent Visual Studio Code install
- A Samsung account, if you intend to create a Samsung distributor certificate for real device deployment
- Your development machine and your target TV on the same network
Step 1 — Install the extensions
From a terminal:
code --install-extension tizen.vscode-tizen-csharp
code --install-extension samsungtvsdk.tv-vscode-tizen
Or install from the Extensions panel by searching for “Tizen TV” — again, confirming the publisher is samsungtvsdk.
Reload VS Code afterwards. You should see a Tizen icon appear in the Activity Bar. If it does not appear, the reload did not take; restart the editor fully rather than using the reload prompt.
Step 2 — Install the TV packages
This is the step people skip, and skipping it produces the single most common “why does nothing work” report.
Installing the extensions gives you the Tizen environment. It does not give you the TV platform packages — the TV emulator images, the TV web app templates, the TV-specific build targets. Those are a separate download managed inside the extension.
- Open the Tizen Extension Activity Bar
- Go to Packages
- Click Advanced
- Install the latest TV extension (9.0 at the time of writing)
- Wait for it to finish — it is a large download and the progress indicator is subtle
Without this, you get a generic Tizen setup with no TV targets, and the failure mode is silence rather than an error message.
While you are in here, install the Tizen CLI as well. Open the command palette and run Tizen: Install Tizen CLI. You do not strictly need it for IDE-driven development, but you will want it later for scripting and CI, and installing it now avoids a context switch.
Step 3 — Certificates
Tizen app signing uses two certificates: an author certificate that identifies you, and a distributor certificate that authorises deployment to specific devices. Both live in a certificate profile.
Open the command palette and run the extension’s Certificate Manager.
Two things matter here, and both bite people migrating from Tizen Studio.
Certificate Manager below version 2.0.74 can no longer issue certificates at all. Samsung retired issuance on older versions as a security change. If you are carrying a profile over from an existing install, update before you do anything else, or you will get failures at signing time with no useful explanation.
Follow Samsung’s migration pattern rather than reusing your old profile wholesale. The recommended sequence is:
- Back up your existing certificates before touching anything
- Create a new profile in the updated Certificate Manager
- Keep your existing certificate for the author role
- Generate a fresh certificate for the distributor role
The distributor certificate is the one bound to your devices’ DUIDs, which is why it is the half that gets regenerated. If you test across several TV generations — and if you are doing this seriously, you should be — this is where multi-device setups break. Every TV you intend to deploy to must be registered against that distributor certificate. A TV that is not in the list will reject the package at install time.
Step 4 — Enable developer mode on the TV
This has not changed, and it is still done with the remote:

- Open Smart Hub and go to the Apps panel
- Scroll to App Settings
- Enter
12345on the remote or the on-screen keypad - A developer configuration popup appears — toggle Developer mode to On
- Enter your development machine’s IP address
- Click OK and reboot the TV
After the restart, Develop Mode shows at the top of the Apps panel. That label is your confirmation the TV is listening.
Two things worth checking if it does not connect later: the TV needs current firmware, and the IP address you entered must be your machine’s actual current address. A DHCP lease change on your laptop silently breaks this, and the symptom is a connection timeout that looks like a tooling problem.
Step 5 — Connect the TV to VS Code
In the extension’s device view, add a remote device using your TV’s IP address and port 26101, the standard Tizen debug bridge port for TVs.
If you prefer the command line, the CLI does the same thing:
sdb connect 192.168.1.42:26101
sdb devices
sdb devices should list the TV. If it shows unauthorized or nothing at all, work back through the previous step: developer mode toggled on, correct host IP entered, TV rebooted, both machines on the same subnet.
Step 6 — Create, build, and run an app
Everything is in the command palette. Type >Tizen and you will see the full set.
The normal loop is:
- Create a project from a TV web template
- Build and package it as a signed
.wgt - Install it to the connected TV
- Run it, or run it in debug mode
Debugging attaches Chrome’s Web Inspector against the app running on the TV, which gives you a real DevTools session against real TV hardware — the same tooling you would use for a browser, pointed at a device with very different constraints.
For scripting and CI, the CLI mirrors all of it:
tizen build-web -- .
tizen package -t wgt -s <your-profile> -- .buildResult
tizen install -n <your-app>.wgt -t <device-name>
That sequence runs entirely independently of the editor, which is what makes automated build verification across device generations possible.
Keep the old extension for one reason: Wits
Here is the exception to “use the new stack.”
Wits provides live reload for Samsung TVs from 2017 onward. Instead of the full build, package, sign, install, launch cycle for every change, it pushes changed files to the running app directly. On a slow TV — and many of the devices you actually need to test on are slow — that is the difference between a two-second iteration and a ninety-second one.
Wits lives in the older tizensdk.tizentv extension rather than the new stack. This is the one real argument for keeping that extension installed alongside the modern pair: use the new extensions for project setup, packaging, certificates, and deployment, and reach for Wits when you are iterating on UI and want the feedback loop tight.
If you keep both installed, be aware that they each define their own settings namespace. The older extension’s configuration lives under tizentv.* keys — tizentv.targetDeviceAddress, tizentv.hostPCAddress, tizentv.chromeExecutable, tizentv.simulatorLocation — and those are separate from anything the new extension stores. Configuring one does not configure the other, which is worth knowing before you spend twenty minutes wondering why a device address you already entered is not being picked up.
Migrating an existing Tizen Studio project
Samsung’s line is that existing projects transfer without restructuring, and in practice that holds for web apps. Your config.xml is unchanged, your source layout is unchanged, and the build output is the same .wgt.
What you do need to redo:
- The certificate profile, per Step 3 — new profile, existing author cert, fresh distributor cert
- Device registration, since the new distributor certificate needs your TVs’ DUIDs
- Any build scripts that hardcoded Tizen Studio’s install paths for
tizenorsdb
Samsung has also published migration guides and video walkthroughs covering project conversion, which are worth a look if you have a native or .NET project rather than a web one — those have more moving parts than a web app does.
A checklist to work through
If you want to compress the above into something you can follow linearly:
- Install
tizen.vscode-tizen-csharpandsamsungtvsdk.tv-vscode-tizen, confirming the publisher - Reload VS Code and confirm the Tizen icon appears in the Activity Bar
- Packages → Advanced → install the latest TV extension
- Run
Tizen: Install Tizen CLIfrom the command palette - Open Certificate Manager, confirm it is 2.0.74 or newer
- Create a new profile: existing author certificate, fresh distributor certificate
- Register every TV you plan to deploy to
- Enable developer mode on the TV via
12345, enter your host IP, reboot - Add the device by IP on port 26101, confirm with
sdb devices - Create a project from a TV web template, build, install, run
Where this leaves you
The migration is genuinely less painful than the Tizen Studio era set you up to expect. The editor is lighter, the SDK manages itself, and the certificate and device workflows survive intact.
What the change does not do is make TV development easier in the way that matters. The hard parts of this work were never the IDE. They are the frozen Chromium versions per model year, the APIs that fail silently on older firmware, and the gap between what the emulator does and what a five-year-old TV in someone’s living room actually does. A better editor does not touch any of that.
So set the tooling up once, correctly, and get back to the part that requires real devices.