
Accessing Code Editor in SageMaker Studio
When you open SageMaker Studio, the Applications panel lists built-in tools you can launch (notebooks, IDEs, language tools, and ML workflow apps). The Code Editor appears in that list only if the application was enabled when the SageMaker user profile was created—this is controlled by the administrator who creates the user profile.If you don’t see Code Editor in the Applications panel, ask your SageMaker admin to enable it for your user profile.
What is the SageMaker Code Editor?
- It is a managed, hosted implementation of the open-source VS Code experience (VS Code OSS / code-server) inside SageMaker Studio.
- It provides a familiar VS Code–like interface running on managed compute provisioned by SageMaker.
- It supports editing Python scripts and Jupyter Notebooks, plus common configuration files such as JSON and YAML.
- Native VS Code extensions (some pre-enabled) are available, including the AWS Toolkit and Amazon Q for AWS resource browsing, code-completion, and generative assistance.
- AWS resource browsing (via the AWS Toolkit extension) for S3, training jobs, and other SageMaker resources.
- Git integration to clone repositories, create branches, commit, push, and perform basic merge workflows from the UI.
- Traditional debugging (step-in/step-over) that is more powerful than the limited debugging features in notebooks.
- Extensions and plugins; extension availability is managed by the hosted environment.

When to use Code Editor vs Jupyter Notebooks
Choose the environment that best fits the task and stage of development:-
Use Jupyter Notebooks for interactive exploration and experimentation:
- Inline outputs and markdown narrative are ideal for data exploration, plotting (Matplotlib, Seaborn), interactive visualizations, and ad hoc analysis.
- Great for prototyping and experiment tracking where stepwise execution and rich cell output matter.
-
Use the Code Editor for structured development, automation, and production workflows:
- Best for writing maintainable Python scripts or packages, debugging with a step-through debugger, and multi-file navigation.
- Use for code that will be invoked by schedulers, CI/CD pipelines, or orchestration services, or that needs to be version-controlled and tested.
- Early experimentation: perform interactive analysis and visualization in Jupyter Notebooks.
- Refactor for production: extract working code from notebooks into modular Python scripts or packages and continue development/debugging in Code Editor. This transition improves maintainability and suits pipeline or deployment workflows.
Comparison highlights
| Resource | SageMaker Code Editor | Local VS Code |
|---|---|---|
| Use case | Tailored for ML development and automation inside SageMaker | General-purpose IDE for many languages and scenarios |
| AWS integration | Deep, out-of-the-box integration with SageMaker services and AWS Toolkit | Requires AWS Toolkit and local IAM credentials/configuration |
| Language support | Optimized for Python, JSON, YAML in the SageMaker context | Wide language ecosystem and tooling |
| Extensibility | Curated set of extensions due to managed environment | Nearly unlimited extension installation |
| Debugging | Supports step-over/step-into debugging in a managed environment | Richest and most extensible debugging capabilities |
| Setup | Launched from Studio Applications panel | Requires local installation per machine |

Side-by-side: Code Editor vs JupyterLab
| Aspect | Code Editor | JupyterLab |
|---|---|---|
| Workspace model | Private workspaces, per-user | Can be configured for shared workspaces and collaborative editing |
| Collaboration | Git-based workflows (branching, PRs) | Real-time collaborative editing (multi-user cursors) in many deployments |
| Inline outputs & plotting | Not focused on inline visualization; best for files and scripts | Rich inline outputs, visualizations rendered beneath cells |
| Debugging & logging | Traditional debugger and structured logging—better for production debugging | Quick iterative debugging with cell-level outputs and prints |
| Workflow focus | Structured, single-invocation scripts for automation and pipelines | Interactive, exploratory workflows and human-readable narratives |

Choose the environment based on the task: interactive analysis and visualization in Jupyter; structured, debuggable, and version-controlled code in the Code Editor.
Summary
- SageMaker Code Editor delivers a VS Code–like IDE inside SageMaker Studio, optimized for writing scripts, pipelines, and production automation.
- Jupyter Notebooks remain the best tool for interactive exploration, visualization, and iterative experimentation.
- Use Jupyter for exploration and rapid prototyping; refactor to Code Editor when you need structured code, robust debugging, and CI/CD-friendly scripts.
Links and References
- Amazon SageMaker Studio documentation
- VS Code OSS (code-server)
- AWS Toolkit for Visual Studio Code
- JupyterLab documentation
- Best practices: transitioning notebooks to scripts and packages