
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

Side-by-side: Code Editor vs JupyterLab

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