Click & Jump to Test Failures from the Command Line (iTerm2)

Real Python · Beginner ·📰 AI News & Updates ·9y ago

Key Takeaways

The video demonstrates how to use iTerm2 to click and jump to test failures from the command line, and how to configure this feature to open files in a favorite editor.

Full Transcript

hey folks is Daniel here with another Python developer tip so I've got I term to here which is the terminal emulator that I use on my Mac and it's got a super super handy feature that allows you to click on any file name in the terminal and an open at in your favorite editor so check this out I've got a Python project here and I'm gonna kick off a test run with PI tests and before I started the recording I actually broke one of the tests and I get this wonderful printout from PI test right and now what I can do I can hit press down command and then click on that file name with the line number and what's gonna happen is that I term actually opens that file in my editor which in my case is sublime text 3 and it bounces me directly to the failed test case so did you see that right just command click into I term 2 and it's gonna open that file directly on that failed assertion based on the line number it can fix my test and run it again so this is a super super handy feature if you're running Python test from the command line like I do like it's kind of my workflow and it took just cuts down on the time that you need to actually find these test failures and then fix them now the cool thing is it doesn't just stop there so I can just do that with any file name right it doesn't have to be part of a test failure so even if I just run the LS command to list my files I can just click on any of those files and they're gonna be opened in the editor that I have configured which is super super useful it has another feature where if you click on a folder or directory it's actually going to open that folder in finder so you can browse it and I use that feature all the time it is so handy and now I'm gonna show you how to actually configure that so what you want to do is you want to open the preferences for item 2 and then click on profiles and then go all the way to the right to the Advanced tab from there you want to go to the bit that says semantic history and you want to use these settings so I have to set to open with editor and then I just picked my editor of choice which in my case is sublime text 3 so you can you know pick any editor that's in your Applications folder and it's just gonna gonna work and well then you close the Preferences and you're ready to go just try this feature out out it's actually really easy to setup once you find this setting which took me I know like a year to actually realize that I term 2 could do this and I was really glad I found this so I think I term 2 is actually a really great program that I use well basically every day in my development workflow and I probably gonna do more videos about that so if you're interested in this topic you want to learn more tips like that then either subscribe to my channel or actually go to debate org slash newsletter where which is my website I have a ton of free stuff for Python developers tutorials and videos just like the one you just watched and if you want to go there then and sign up for a newsletter and you're never gonna miss out on another video and I'd love to stay in touch with you cool thanks so much for listening I hope this was helpful have a great day

Original Description

iTerm2 has a little known feature that lets you open a file in your favorite editor simply by clicking on a file name in the terminal. This also works with folders (they'll open in Finder) – and it is a super handy feature if you're running your Python tests from the command line. I use it all the time to click and jump to failed test cases with the Pytest test runner, for example. (This feature should be completely language agnostic by the way. So you'll be able to use it with any test runner or language.) The feature is called "Semantic History" and configuring it will let you Cmd+Click on any file or folder name to open it from the terminal. Watch the video to learn how to set everything up :) * * * Shameless plug: If you want to get a Sublime Text setup just like the one in the video then check out my Sublime Text Setup Guide for Python Developers: https://SublimeTextPython.com 😊 ► Weekly Tips for Python Developers: https://dbader.org/newsletter
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Real Python · Real Python · 19 of 60

1 A better Python REPL – bpython vs python interpreter
A better Python REPL – bpython vs python interpreter
Real Python
2 Introducing large-type.com – A Utility Website
Introducing large-type.com – A Utility Website
Real Python
3 Reading Hacker News Without Wasting Tons of Time
Reading Hacker News Without Wasting Tons of Time
Real Python
4 Forward References and Python 3 Type Hints
Forward References and Python 3 Type Hints
Real Python
5 Using Sublime Text as your Git Editor
Using Sublime Text as your Git Editor
Real Python
6 Python Code Linting and Auto-Complete for Sublime Text
Python Code Linting and Auto-Complete for Sublime Text
Real Python
7 Make your Python Code More Readable with Custom Exceptions
Make your Python Code More Readable with Custom Exceptions
Real Python
8 Write Better Tests with Sublime Text's Split Layout Feature
Write Better Tests with Sublime Text's Split Layout Feature
Real Python
9 How to Use Sublime Text from the Command Line
How to Use Sublime Text from the Command Line
Real Python
10 Rename Variables with Multiple Selection in Sublime Text
Rename Variables with Multiple Selection in Sublime Text
Real Python
11 Sublime Text Settings for Writing PEP 8 Python
Sublime Text Settings for Writing PEP 8 Python
Real Python
12 Write Cleaner Python with Sublime Text's Indent Guides
Write Cleaner Python with Sublime Text's Indent Guides
Real Python
13 Sublime Text Whitespace Settings for Python Development
Sublime Text Whitespace Settings for Python Development
Real Python
14 Function Argument Unpacking in Python
Function Argument Unpacking in Python
Real Python
15 Python Code Review: Debugging and Refactoring "Conway's Game of Life" +  Automated Tests
Python Code Review: Debugging and Refactoring "Conway's Game of Life" + Automated Tests
Real Python
16 Using "get()" to Return a Default Value from a Python Dict
Using "get()" to Return a Default Value from a Python Dict
Real Python
17 A Python Shorthand for Swapping Two Variables
A Python Shorthand for Swapping Two Variables
Real Python
18 Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Real Python
Click & Jump to Test Failures from the Command Line (iTerm2)
Click & Jump to Test Failures from the Command Line (iTerm2)
Real Python
20 Setting up Sublime Text for Python Developers
Setting up Sublime Text for Python Developers
Real Python
21 Sublime Text + Python Guide Overview
Sublime Text + Python Guide Overview
Real Python
22 Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Real Python
23 Type-Checking Python Programs With Type Hints and mypy
Type-Checking Python Programs With Type Hints and mypy
Real Python
24 A Shorthand for Merging Dictionaries in Python 3.5+
A Shorthand for Merging Dictionaries in Python 3.5+
Real Python
25 Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Real Python
26 My Python Code Looks Ugly and Confusing – Help!
My Python Code Looks Ugly and Confusing – Help!
Real Python
27 Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Real Python
28 Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Real Python
29 Programmer Portfolio – Example and Walkthrough
Programmer Portfolio – Example and Walkthrough
Real Python
30 How to Get Your 1st Speaking Gig at a Tech Conference
How to Get Your 1st Speaking Gig at a Tech Conference
Real Python
31 How to Build Your Public Speaking Skills as a Developer
How to Build Your Public Speaking Skills as a Developer
Real Python
32 The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
Real Python
33 Setting up Sublime Text for Python Developers – Lesson #1
Setting up Sublime Text for Python Developers – Lesson #1
Real Python
34 Cool New Features in Python 3.6
Cool New Features in Python 3.6
Real Python
35 "is" vs "==" in Python – What's the Difference? (And When to Use Each)
"is" vs "==" in Python – What's the Difference? (And When to Use Each)
Real Python
36 Emulating switch/case Statements in Python with Dictionaries
Emulating switch/case Statements in Python with Dictionaries
Real Python
37 Python Function Argument Unpacking Tutorial (* and ** Operators)
Python Function Argument Unpacking Tutorial (* and ** Operators)
Real Python
38 What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
Real Python
39 A Crazy Python Dictionary Expression ?!
A Crazy Python Dictionary Expression ?!
Real Python
40 String Conversion in Python: When to Use __repr__ vs __str__
String Conversion in Python: When to Use __repr__ vs __str__
Real Python
41 Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Real Python
42 Optional Arguments in Python With *args and **kwargs
Optional Arguments in Python With *args and **kwargs
Real Python
43 Python Context Managers and the "with" Statement (__enter__ & __exit__)
Python Context Managers and the "with" Statement (__enter__ & __exit__)
Real Python
44 Installing Python Packages with pip and virtualenv / venv
Installing Python Packages with pip and virtualenv / venv
Real Python
45 "For Each" Loops in Python with enumerate() and range()
"For Each" Loops in Python with enumerate() and range()
Real Python
46 Python Code Review: LibreOffice Automation and the Python Standard Library
Python Code Review: LibreOffice Automation and the Python Standard Library
Real Python
47 Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Real Python
48 Python Tutorial: List Comprehensions Step-By-Step
Python Tutorial: List Comprehensions Step-By-Step
Real Python
49 Leveraging Python's Implicit "return None" Statements
Leveraging Python's Implicit "return None" Statements
Real Python
50 What's the meaning of underscores (_ & __) in Python variable names?
What's the meaning of underscores (_ & __) in Python variable names?
Real Python
51 Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Real Python
52 Writing automated tests for Python command-line apps and scripts
Writing automated tests for Python command-line apps and scripts
Real Python
53 How to find great Python packages on PyPI, the Python Package Repository
How to find great Python packages on PyPI, the Python Package Repository
Real Python
54 Immutable vs Mutable Objects in Python
Immutable vs Mutable Objects in Python
Real Python
55 PyPI vs Warehouse, the Next-Generation Python Package Repository
PyPI vs Warehouse, the Next-Generation Python Package Repository
Real Python
56 pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
Real Python
57 My Experience at PyCon 2017 in Portland
My Experience at PyCon 2017 in Portland
Real Python
58 Pylint Tutorial – How to Write Clean Python
Pylint Tutorial – How to Write Clean Python
Real Python
59 "Reverse a List in Python" Tutorial: Three Methods & How-to Demos
"Reverse a List in Python" Tutorial: Three Methods & How-to Demos
Real Python
60 Python Refactoring: "while True" Infinite Loops & The "input" Function
Python Refactoring: "while True" Infinite Loops & The "input" Function
Real Python

This video shows how to use iTerm2 to streamline Python development by clicking on file names to open them in an editor, and how to configure this feature. It's a time-saving tip for developers who run tests from the command line.

Key Takeaways
  1. Open iTerm2 and start a test run with pytest
  2. Click on a file name with a line number to open it in the editor
  3. Configure iTerm2 by opening preferences and going to the Advanced tab
  4. Select the semantic history settings and choose the editor to use
  5. Close the preferences and try out the feature
💡 iTerm2 has a hidden feature that allows clicking on file names to open them in an editor, which can greatly speed up development workflows

Related AI Lessons

The AI Hype Cycle: Calm Before the Next Breakthrough?
Understand the AI hype cycle to anticipate the next breakthrough and make informed decisions
Medium · Programming
AI won’t replace scientists. It will make the current model of science obsolete
AI is not replacing scientists, but rather making the current model of science obsolete, enabling new forms of discovery and collaboration
Medium · Data Science
The End of Knowledge: Why Artificial Intelligence Is Changing Not Only What We Know, but What It…
AI is changing the concept of knowledge and how we acquire it, making us question what it means to know something
Medium · AI
Japan Gave the World Robots, Bullet Trains, and PlayStation. So Why Is It Losing the AI Race?
Japan, a pioneer in technology, is struggling to keep up in the AI race, and understanding the reasons behind this can provide valuable insights for other countries and businesses
Medium · AI
Up next
Motorist saved by human chain | 9 News Australia
9 News Australia
Watch →