CINXE.COM
Wing Tips: Helpful Hints for Wing Python IDE - Wing Python IDE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> Wing Tips: Helpful Hints for Wing Python IDE - Wing Python IDE </title> <script type="text/javascript" src="/js/jquery-3.7.1.min.js"></script> <script type="text/javascript" src="/js/jquery.tools-1.2.7.min.js"></script> <script type="text/javascript" src="/js/iemenus.js"></script> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <meta content="Wing Tips: Helpful Hints for Wing Python IDE" name="description" /> <meta content="python, ide, editor, integrated, development, environment, tool, tools, debugger, debug, source, code, browser, coding, programmer, programmers, programming, software, development, developer, developers" name="keywords" /> <meta content="Copyright (c) 1999-2025 Wingware" name="Copyright" /> <meta content="Wingware" name="Author" /> <link rel="stylesheet" type="text/css" href="/css" media="screen" /><link rel="stylesheet" type="text/css" href="/css/print" media="print" /> <meta http-equiv="content-language" content="en-us"> <link rel="canonical" href="https://wingware.com/hints" /> <meta property="og:url" content="https://wingware.com/hints" /> <meta property="og:type" content="website" /> <meta property="og:title" content="Wing Tips: Helpful Hints for Wing Python IDE - Wing Python IDE" /> <meta property="og:description" content="Wing Tips: Helpful Hints for Wing Python IDE" /> <meta property="og:image" content="http://wingware.com/images/title-logo-social-media.png" /> <meta property="og:image:secure_url" content="https://wingware.com/images/title-logo-social-media.png" /> <meta property="og:image" content="http://wingware.com/images/screenshots/wing7-screenshot-dark.png" /> <meta property="og:image:secure_url" content="https://wingware.com/images/screenshots/wing7-screenshot-dark.png" /> <meta property="og:image:alt" content="Wing Python IDE" /> <meta name="viewport" content="width=device-width, initial-scale=0.9" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Strict-Transport-Security" content="max-age=31536000; includeSubDomains" /> <script type="text/javascript" src="/js/videodisplay.js"></script> <script type="text/javascript" src="/js/sizing.js"></script> <script type="text/javascript" src="/js/search.js"></script> <script type="text/javascript" src="/js/modal.js"></script> </head> <body class="page" bgcolor="#ffffff"> <div id="accessibility"> <ul> <li> <a href="#main-content">Skip to Content</a> </li> <li> <a href="#navigation">Skip to Navigation</a> </li> <li> <a href="/site_map">Site Map</a> </li> </ul> </div> <!-- accessibility --> <div id="container"> <style type="text/css"> .h_iframe {position:relative;} .h_iframe .ratio {display:block;width:100%;height:auto;} .h_iframe iframe {position:absolute;top:0;left:0;width:100%; height:100%;} </style> <div class="h_iframe" id="overlay"> <img class="ratio" alt="Set aspect ratio" src="/images/screencast-aspect-ratio.png" /> </div> <div id="modal-div" class="modal" onclick="modal_hide()"> <span class="modal-close">×</span> <img class="modal-content" id="modal-img" onclick="modal_hide()" /> </div> <div class="header"> <div id="branding"> <h1>Wing Python IDE</h1> <h2>The Intelligent Development Environment for Python</h2> </div> <!-- branding --> <hr class="hidevis" /> <div class="internal-logo" id="wingware-logo"> <a href="/"><img alt="Wing Python IDE: The Intelligent Development Environment for Python" border="0" height="112" src="/images/header-logo.png" width="548" /></a> </div> <!-- wingware-logo --> </div> <div id="navigation"> <div class="title-area"> <div id="title-logo"> <a href="/"><img border="0" src="/images/title-logo.png" /></a> </div> <!-- title-logo --> <span id="title"><a href="/" id="title">Wingware</a></span> </div> <h3>Navigation</h3> <div id="navbar"> <div class="dropdown"> <a href="/" class="dropbtn dropbtn-selected">About</a> <div class="dropdown-content"> <a href="/">Feature Overview</a> <a href="/downloads">Compare Products</a> <a href="/wingide/whatsnew">New in Wing Pro</a> <a href="/wingide/testimonials">Testimonials & Reviews</a> <a href="/whywingpro">Why Wing Pro?</a> <a href="/news">News</a> <a href="/doc/legal/privacy">Privacy Policy</a> <a href="/search">Search</a> </div> </div> <div class="dropdown"> <a href="/downloads" class="dropbtn">Download</a> <div class="dropdown-content"> <a href="/downloads/wing-pro">Wing Pro</a> <a href="/downloads/wing-personal">Wing Personal</a> <a href="/downloads/wing-101">Wing 101</a> </div> </div> <div class="dropdown"> <a href="/support" class="dropbtn">Support</a> <div class="dropdown-content"> <a href="https://ask.wingware.com/">Q&A Forum</a> <a href="/doc/intro/tutorial">Tutorial</a> <a href="/doc/howtos/quickstart">Quick Start</a> <a href="/doc/howtos">How-Tos</a> <a href="/doc/manual">Wing Pro Manual</a> <a href="/hints">Wing Tips and Hints</a> <a href="/lists">Mailing Lists</a> <a href="/update">Updates</a> <a href="https://github.com/wingware-dev/wing-contrib">Extensions</a> <a href="/support/books">Books</a> <a href="/wingide/early">Early Access Program</a> </div> </div> <div class="dropdown dropdown-buy"> <a href="/store" class="dropbtn">Pricing</a> <div class="dropdown-content dropdown-content-buy"> <a href="https://wingware.com/store/purchase">Buy New Licenses</a> <a href="https://wingware.com/store/upgrade">Renew or Upgrade</a> <a href="https://wingware.com/store/special">Special Offers</a> <a href="/wingide/license">License Terms</a> <a href="/store/terms">Support+Upgrades</a> <a href="/store/po">Purchase Orders</a> </div> </div> <div class="dropdown dropdown-contact"> <a href="/contact" class="dropbtn dropbtn-contact">Contact</a> <div class="dropdown-content dropdown-content-contact"> <a href="/contact">Contact Wingware</a> <a href="/advocacy">Advocacy</a> </div> </div> <div class="dropdown dropdown-last"> <a href="/search" class="dropbtn dropbtn-search"><img src="/images/icons/search-menu.png" width="16px" height="16px" /></a> <div class="dropdown-content dropdown-content-last"> <div id="search"> <form id="search-form" action="https://duckduckgo.com" method="get"><input class="text" id="search-terms" name="terms" type="text" value="" /> <input class="hidden" name="k1" type="hidden" value="us-en" /> <input class="hidden" name="ko" type="hidden" value="1" /> <input class="hidden" name="kj" type="hidden" value="d" /> <input class="hidden" id="search-string" name="q" type="hidden" value="" /> <input class="hidden" id="search-site" name="site" type="hidden" value="wingware.com" /> <input class="submit" id="btn-search" name="submit" type="submit" value="" /></form> </div> <!-- search --> </div> </div> </div> <!-- navbar --> </div> <!-- navigation --> <hr class="hidevis" /> <div class="holder"> <div class="content"> <div class="main-content" id="main-content"> <h2 id="inline-title">Wing Tips: Helpful Hints for Wing Python IDE</h2> <div> <div class="box"> <b>Also available:</b> <a href="/lists/wingtips">Hints by Weekly Email</a> | <a href="/hints/rss">RSS2 feed<a> | <a href="/doc/intro/tutorial">Tutorial</a> | <a href="/doc/howtos/quickstart">Quick Start</a> | <a href="/doc/howtos">HowTos</a> | <a href="https://ask.wingware.com">Q&A Forum</a> </div> <br /> <p> These articles contain tips, tricks, and helpful hints for Wing Python IDE users. Some articles focus on Wing Pro while others describe features found also in Wing Personal. You can subscribe to receive regular updates by <a href="/lists/wingtips">email</a> or <a href="/hints/rss">RSS</a>. </p> <iframe src="https://duckduckgo.com/search.html?width=200&site=wingware.com/hints&prefill=Search Hints&focus=yes" style="overflow:hidden;margin:0;padding:0;width:258px;height:40px;" frameborder="0"></iframe> <br /><br /> <div id="blog"> <h2 class="blog-title">Editor Basics</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/code-navigation-1" class="blog-title-small">Navigating Python Code with Wing (part 1 of 3)</a></span> </div> <span class="blog-summary">Navigate Python code more quickly with goto-definition, find uses, and project-wide search.</span> <a href="/hints/code-navigation-1">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/code-navigation-2" class="blog-title-small">Navigating Python Code with Wing (part 2 of 3)</a></span> </div> <span class="blog-summary">Get around Python code quickly with Wing's code index menus and source browser.</span> <a href="/hints/code-navigation-2">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/code-navigation-3" class="blog-title-small">Navigating Python Code with Wing (part 3 of 3)</a></span> </div> <span class="blog-summary">Find files and symbols quickly in Wing by typing a fragment of their names.</span> <a href="/hints/code-navigation-3">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/open-from-project" class="blog-title-small">Quick Navigation to Project Files in Wing Python IDE</a></span> </div> <span class="blog-summary">Open project files quickly in Wing Personal and Wing Pro by typing a fragment of a file name or file path.</span> <a href="/hints/open-from-project">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/multiselection" class="blog-title-small">Multiple Selections in Wing Python IDE</a></span> </div> <span class="blog-summary">Use multiple concurrent selections in Wing Python IDE to apply a single edit to several parts of your code at once.</span> <a href="/hints/multiselection">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/quick-select" class="blog-title-small">Selecting Logical Units of Python Code in Wing</a></span> </div> <span class="blog-summary">Learn how to use quickly select logical units of Python code from the keyboard in Wing, as a way to make some editing tasks faster.</span> <a href="/hints/quick-select">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/auto-completion" class="blog-title-small">Auto Completion in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use Wing's auto-completer to write Python code more quickly and accurately.</span> <a href="/hints/auto-completion">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/source-assistant" class="blog-title-small">Source Assistant in Wing Pro</a></span> </div> <span class="blog-summary">Learn how Wing Pro's Source Assistant provides context-sensitive code intelligence and documentation for Python code.</span> <a href="/hints/source-assistant">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/ai-dev" class="blog-title-small">AI Assisted Development in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use AI assisted development in Wing Pro to write, refactor, and redesign code.</span> <a href="/hints/ai-dev">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/ai-chat" class="blog-title-small">AI Chat in Wing Pro</a></span> </div> <span class="blog-summary">Learn how you can use AI Chat in Wing Pro to understand existing code or work through the design and implementation of new code.</span> <a href="/hints/ai-chat">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/wingpro-auto-editing-1" class="blog-title-small">Auto-Editing in Wing Pro (Part 1 of 3)</a></span> </div> <span class="blog-summary">Learn about some of the less obvious auto-editing operations in Wing Pro, starting with the creation and management of blocks in Python code.</span> <a href="/hints/wingpro-auto-editing-1">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/wingpro-auto-editing-2" class="blog-title-small">Auto-Editing in Wing Pro (Part 2 of 3)</a></span> </div> <span class="blog-summary">Learn about Wing Pro's auto-invocation feature, which makes writing Python code that calls functions and methods easier and less prone to errors.</span> <a href="/hints/wingpro-auto-editing-2">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/wingpro-auto-editing-3" class="blog-title-small">Auto-Editing in Wing Pro (Part 3 of 3)</a></span> </div> <span class="blog-summary">Learn some more of the auto-editing operations in Wing Pro, for PEP 8 compliant auto-spacing, correcting out-of-order typing, and changing the type of quotes around a string.</span> <a href="/hints/wingpro-auto-editing-3">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/turbo-completion" class="blog-title-small">Turbo Completion Mode in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use Turbo Completion mode in Wing Pro to speed up typing in Python code</span> <a href="/hints/turbo-completion">Read more</a> <br /><br /> <h2 class="blog-title">Projects and Environment</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/create-project" class="blog-title-small">Creating a Project for an Existing Code Base</a></span> </div> <span class="blog-summary">Learn how to create a Wing project for an existing or newly created Python code base, with an existing or newly created Python environment.</span> <a href="/hints/create-project">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/environments" class="blog-title-small">Using virtualenv, Poetry, pipenv, and Anaconda environments with Wing Python IDE</a></span> </div> <span class="blog-summary">Learn how to work with virtualenv, Poetry, pipenv, and Anaconda Python environments from Wing Python IDE.</span> <a href="/hints/environments">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/packages" class="blog-title-small">Python Package Management in Wing Python IDE</a></span> </div> <span class="blog-summary">Learn how to view, add, remove, and update Python packages in your Python environment from Wing Pro.</span> <a href="/hints/packages">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/python-m" class="blog-title-small">Using "python -m" in Wing Python IDE</a></span> </div> <span class="blog-summary">Wing supports launching modules from the IDE in a way that simulates running "python -m" on the command line.</span> <a href="/hints/python-m">Read more</a> <br /><br /> <h2 class="blog-title">Debugging</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/debug-overview" class="blog-title-small">Configuring Wing's Python Debugger for Your Code Base</a></span> </div> <span class="blog-summary">This roadmap explains the configuration options available in Wing Pro for different debugging scenarios on local or remote systems, on containers, with code launched from the IDE or from the outside, with or without a virtual environment, and optionally multi-threaded and/or multi-process.</span> <a href="/hints/debug-overview">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/debug-value-tips" class="blog-title-small">Overlaying Debug Data onto Wing Pro's Editor</a></span> </div> <span class="blog-summary">Wing Pro's debugger has the ability to display an overlay with the value of all visible symbols in the editor.</span> <a href="/hints/debug-value-tips">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/move-program-counter2" class="blog-title-small">Moving the Program Counter in Wing's Python Debugger</a></span> </div> <span class="blog-summary">Wing's Python debugger can move the program counter, so you can go back and try code again in order to find the original cause of a bug, without having to restart the debug process.</span> <a href="/hints/move-program-counter2">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/conditional-breakpoints" class="blog-title-small">Conditional Breakpoints Wing Pro's Python Debugger</a></span> </div> <span class="blog-summary">Wing's Python debugger allows you to set conditional breakpoints to isolate specific cases that need debugging or for which you want to write new code interactively.</span> <a href="/hints/conditional-breakpoints">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/goto-definition-in-shells" class="blog-title-small">Goto-Definition From the Interactive Shells in Wing</a></span> </div> <span class="blog-summary">This useful trick lets you find the point of definition of symbols in source code, while working with those symbols at runtime in Wing's integrated Python Shell and Wing Pro's Debug Console.</span> <a href="/hints/goto-definition-in-shells">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/live-coding" class="blog-title-small">Live Interactive Python Coding in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use Wing Pro's debugger to write and test out new Python code interactively in the live runtime state that the code is intended for.</span> <a href="/hints/live-coding">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/array-viewer" class="blog-title-small">Viewing Arrays and Data Frames in Wing Pro</a></span> </div> <span class="blog-summary">Wing Pro includes an array and data frame viewer that can be used to efficiently display slices of very large data objects in the debugger.</span> <a href="/hints/array-viewer">Read more</a> <br /><br /> <h2 class="blog-title">Unit Testing</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/unit-testing" class="blog-title-small">Unit Testing in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to run and debug unit tests in Wing Pro, collect code coverage statisics, and identify stale test results based on edits made since tests were run.</span> <a href="/hints/unit-testing">Read more</a> <br /><br /> <h2 class="blog-title">Code Warnings and Refactoring</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/refactor-rename" class="blog-title-small">Renaming Symbols and Attributes in Python Code with Wing Pro's Refactoring Tool</a></span> </div> <span class="blog-summary">Learn how to use refactoring in Wing Pro to quickly rename symbols and attributes in Python code.</span> <a href="/hints/refactor-rename">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/refactoring-move" class="blog-title-small">Moving Code with Refactoring in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to quickly move functions, methods, classes, and other symbol definitions around in Python code, using refactoring in Wing Pro.</span> <a href="/hints/refactoring-move">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/refactor-introduce" class="blog-title-small">Introducing Functions and Methods with Refactoring in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to quickly create new functions and methods out of existing blocks of Python code, using refactoring in Wing Pro.</span> <a href="/hints/refactor-introduce">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/refactor-intro-var" class="blog-title-small">Introducing Variables with Refactoring in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to quickly introduce a new variable based on existing Python code, using refactoring in Wing Pro.</span> <a href="/hints/refactor-intro-var">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/code-warnings" class="blog-title-small">Python Code Warnings in Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use the code warnings system in Wing Pro to find errors in Python code.</span> <a href="/hints/code-warnings">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/external-checkers" class="blog-title-small">Using External Code Quality Checkers with Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use external code quality checkers like Pylint, pep8, and mypy with Wing Pro's code warnings system.</span> <a href="/hints/external-checkers">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/reformatting" class="blog-title-small">Using Black, Ruff, YAPF, and Autopep8 Code Reformatting in Wing Python IDE</a></span> </div> <span class="blog-summary">Wing added the ability to manually or automatically reformat Python code using the Black, Ruff, YAPF, and Autopep8 code formatting tools.</span> <a href="/hints/reformatting">Read more</a> <br /><br /> <h2 class="blog-title">Customization</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/presentation-mode" class="blog-title-small">Presentation Mode in Wing Python IDE</a></span> </div> <span class="blog-summary">Presentation Mode in Wing Python IDE temporarily magnifies the entire user interface, so the screen can be read more easily during meetings or talks.</span> <a href="/hints/presentation-mode">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/dark-mode" class="blog-title-small">Dark Mode and Color Configuration in Wing Python IDE</a></span> </div> <span class="blog-summary">A look at how to quickly switch between light and dark mode and the options for color configuration in Wing Python IDE.</span> <a href="/hints/dark-mode">Read more</a> <br /><br /> <h2 class="blog-title">Remote Development</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/remote-dev-2" class="blog-title-small">Remote Development with Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use Wing Pro to develop, test, and debug Python code running on a remote host, virtual machine, or container.</span> <a href="/hints/remote-dev-2">Read more</a> <br /><br /> <h2 class="blog-title">Support for Specific Frameworks and Packages</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/docker" class="blog-title-small">Using Docker with Wing Pro 8</a></span> </div> <span class="blog-summary">Learn how to use Wing 8 to develop, test, and debug Python code running inside Docker containers.</span> <a href="/hints/docker">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/docker-compose" class="blog-title-small">Debug Python Code Run by Docker Compose with Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use Wing Pro to develop and debug containerized Python code that is managed by Docker Compose.</span> <a href="/hints/docker-compose">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/matplotlib" class="blog-title-small">Using Matplotlib with Wing Python IDE</a></span> </div> <span class="blog-summary">Learn how to use Wing Python IDE to interactively develop and debug Python code designed for the Matplotlib numerical and scientific plotting library.</span> <a href="/hints/matplotlib">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/flask" class="blog-title-small">Efficient Flask Web Development with Wing 7</a></span> </div> <span class="blog-summary">Learn how to use Wing for rapid development and debugging of Python code running under the Flask web framework.</span> <a href="/hints/flask">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/aws-1" class="blog-title-small">Remote Python Development on AWS with Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use Wing Pro to remotely develop, test, and debug Python code running on an AWS instance.</span> <a href="/hints/aws-1">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/aws-2" class="blog-title-small">Debug Python Services Running on AWS with Wing Pro</a></span> </div> <span class="blog-summary">Learn how to use Wing Pro to remotely debug AWS-hosted Python services that are launched from outside of the IDE.</span> <a href="/hints/aws-2">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/pyxll" class="blog-title-small">Extend Microsoft Excel with Python Using Wing and PyXLL</a></span> </div> <span class="blog-summary">Learn how to use Wing with PyXLL to develop and debug Python extensions for Microsoft Excel.</span> <a href="/hints/pyxll">Read more</a> <br /><br /> <h2 class="blog-title">Extending Wing's Functionality</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/scripting-1" class="blog-title-small">Extending Wing with Python (Part 1 of 4)</a></span> </div> <span class="blog-summary">This installment of our multi-part series on extending Wing introduces how to write simple Python scripts to add custom functionality to the IDE.</span> <a href="/hints/scripting-1">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/scripting-2" class="blog-title-small">Extending Wing with Python (Part 2 of 4)</a></span> </div> <span class="blog-summary">In this installment of our multi-part series on extending Wing with Python scripts, we explain how to set up a project for developing and debugging your extension scripts.</span> <a href="/hints/scripting-2">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/scripting-3" class="blog-title-small">Extending Wing with Python (Part 3 of 4)</a></span> </div> <span class="blog-summary">In this installment of our multi-part series on extending Wing with Python scripts, we take a look at how extension scripts can collect arguments from the user.</span> <a href="/hints/scripting-3">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/scripting-4" class="blog-title-small">Extending Wing with Python (Part 4 of 4)</a></span> </div> <span class="blog-summary">In the final installment of this multi-part series on extending Wing with Python scripts, we take a closer look at the scripting API and write a more complex script.</span> <a href="/hints/scripting-4">Read more</a> <br /><br /> <br /><br /> <hr class="blog-hr" /> <h2 class="blog-title">Older Unmaintained Wingtips</h2> <br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/anaconda-envs" class="blog-title-small">Using Anaconda Environments with Wing Python IDE (last updated Feb 26, 2020)</a></span> </div> <span class="blog-summary">Learn how to create and use Anaconda environments with your Wing projects.</span> <a href="/hints/anaconda-envs">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/virtualenv" class="blog-title-small">Using virtualenv with Wing Python IDE (last updated Feb 05, 2020)</a></span> </div> <span class="blog-summary">Learn how to work with virtualenv Python from Wing Python IDE.</span> <a href="/hints/virtualenv">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/multi-selection" class="blog-title-small">Using Multiple Selections in Wing Python IDE to Avoid Repetitive Code Editing Tasks (last updated May 03, 2019)</a></span> </div> <span class="blog-summary">Learn how to use multiple selections in Wing Python IDE to avoid repetitive code editing tasks.</span> <a href="/hints/multi-selection">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/anaconda" class="blog-title-small">Using Anaconda with Wing Python IDE (last updated Apr 18, 2019)</a></span> </div> <span class="blog-summary">Learn how to configure Wing to work with the Anaconda Python distribution for data science, machine learning, and other applications that use many third party packages.</span> <a href="/hints/anaconda">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/vagrant" class="blog-title-small">Developing and Debugging Python Code Running on Vagrant Containers (last updated Sep 25, 2018)</a></span> </div> <span class="blog-summary">Learn how to use Wing Pro to develop, test, and debug Python Code running in Vagrant containers.</span> <a href="/hints/vagrant">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/wsl" class="blog-title-small">Using Wing Pro with Windows Subsystem for Linux (last updated Sep 16, 2018)</a></span> </div> <span class="blog-summary">Wing Pro is a Python IDE that can be used to develop, test, and debug Python code running inside Windows Subsystem for Linux.</span> <a href="/hints/wsl">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/remote-web-dev" class="blog-title-small">Using Wing Pro for Remote Python Web Development (last updated May 16, 2017)</a></span> </div> <span class="blog-summary">Wing Pro is a Python IDE that can be used to develop, test, and debug a website on a remote server, VM, or other system where an IDE cannot be installed.</span> <a href="/hints/remote-web-dev">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/jupyter" class="blog-title-small">Using Wing Pro with Jupyter Notebooks (last updated Apr 11, 2017)</a></span> </div> <span class="blog-summary">Wing Pro can be used to develop and debug Python code written for Jupyter Notebooks.</span> <a href="/hints/jupyter">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/product-line" class="blog-title-small">Wing Python IDE Product Line Changes (last updated Mar 22, 2017)</a></span> </div> <span class="blog-summary">Wing 6 makes Wing Personal free, streamlines the process for applying for free Wing Pro licenses, and introduces an annual licensing option.</span> <a href="/hints/product-line">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/remote-development" class="blog-title-small">Remote Python Development with Wing Pro 6 (last updated Jan 17, 2017)</a></span> </div> <span class="blog-summary">Wing Pro 6 introduces easy to configure and use remote Python development, where the IDE can edit, test, debug, search, and manage files as if they were stored on the same machine as the IDE.</span> <a href="/hints/remote-development">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/multiple-selections" class="blog-title-small">Using Multiple Selections to Edit Python Code in Wing (last updated Jan 12, 2017)</a></span> </div> <span class="blog-summary">Wing Python IDE version 6 improves and extends support for multiple selections on the editor, making it easier to select and then apply edits to a number of selections at once.</span> <a href="/hints/multiple-selections">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/raspberry-pi" class="blog-title-small">Developing Code on Raspberry Pi with Wing Python IDE (last updated May 06, 2015)</a></span> </div> <span class="blog-summary">Wing Python IDE can remotely debug code running on a Raspberry Pi, so you can quickly isolate and fix bugs by setting breakpoints, stepping through code, and inspecting data.</span> <a href="/hints/raspberry-pi">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/find-symbol" class="blog-title-small">Find Symbol in Project in Wing Pro (last updated May 06, 2015)</a></span> </div> <span class="blog-summary">Wing Pro 5.1 added a Find Symbol in Project feature that lets you navigate to the point of definition of a symbol defined anywhere in your project by typing a fragment matching the name.</span> <a href="/hints/find-symbol">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/debug-probe-intro" class="blog-title-small">Interactive Python in Wing Pro: The Debug Probe (last updated Mar 31, 2015)</a></span> </div> <span class="blog-summary">Learn how to use Wing Pro's Debug Probe to debug and write new Python code interactively.</span> <a href="/hints/debug-probe-intro">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/multiprocess-debug" class="blog-title-small">Multiprocess Debugging in Wing IDE Pro 5.1 (last updated Mar 20, 2015)</a></span> </div> <span class="blog-summary">Wing IDE 5.1 adds multi-process debugging and automatic child process debugging.</span> <a href="/hints/multiprocess-debug">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/move-program-counter" class="blog-title-small">Moving the Debug Program Counter in Wing IDE Pro (last updated Mar 11, 2015)</a></span> </div> <span class="blog-summary">Learn how to move the program counter while debugging Python code in Wing IDE Pro.</span> <a href="/hints/move-program-counter">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/active-ranges" class="blog-title-small">Active Ranges: New Feature in Wing IDE 5.0.9 (last updated Sep 12, 2014)</a></span> </div> <span class="blog-summary">Wing IDE 5.0.9 adds the ability to set an active range of code in the editor. This makes it easier to reevaluate edited sections of code in the Python Shell or Debug Probe.</span> <a href="/hints/active-ranges">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/new-screencast" class="blog-title-small">Screencast: Wing IDE 5 Feature Overview (last updated Jun 24, 2014)</a></span> </div> <span class="blog-summary">This new screencast takes you on a tour of some of the features in Wing IDE Professional version 5.</span> <a href="/hints/new-screencast">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/auto-complete-sassist" class="blog-title-small">Auto-Completion and Source Assistant in Wing IDE Pro (last updated May 23, 2014)</a></span> </div> <span class="blog-summary">How to get the most out of Wing IDE Pro's auto-completer and source assistant for Python.</span> <a href="/hints/auto-complete-sassist">Read more</a> <br /><br /> <div class="blog-title-small"> <span class="blog-title-small"><a href="/hints/auto-editing" class="blog-title-small">Auto-Editing in Wing IDE Pro (last updated May 05, 2014)</a></span> </div> <span class="blog-summary">Learn how to use Wing IDE Pro's advanced auto-editing features to speed up writing and modifying Python code.</span> <a href="/hints/auto-editing">Read more</a> <br /><br /> <p> <i>Other older articles are available at <a href='https://wingware.blogspot.com/'>wingware.blogspot.com</a></i>. </p> </div> <!-- blog --> </div> <p> </p> </div> <!-- main-content --> </div> </div> <div id="footer"> <div id="footer-div"> <div id="footer-copyright-div"> <p class="copyright"> 漏 1999-2025 Wingware </p> </div> <!-- footer-copyright-div --> <div id="footer-menu-div"> <ul id="footer-menu"> <li class="first-child"> <a href="/contact">Contact</a> </li> <li> <a href="/search">Search</a> </li> <li> <a href="/site_map">Site Map</a> </li> <li> <span id="terms-item"><a href="/legal" id="terms-item">Terms</a></span> </li> </ul> </div> <!-- footer-menu-div --> <div id="footer-social-div"> <div id="socialmedia"> <a href="https://twitter.com/pythonide"><img alt="Twitter" border="0" height="32px" src="/images/icons/social-twitter.png" width="32px" /></a> <a href="https://www.facebook.com/groups/wingware"><img alt="Facebook" border="0" height="32px" src="/images/icons/social-facebook.png" width="32px" /></a> <a href="https://masto.ai/@wingware" rel="me"><img alt="Mastodon" border="0" height="32px" src="/images/icons/social-mastodon.png" width="32px" /></a> <a href="https://www.linkedin.com/groups?gid=3082625"><img alt="Linked In" border="0" height="32px" src="/images/icons/social-linkedin.png" width="32px" /></a> <a href="https://www.youtube.com/user/wingware"><img alt="YouTube" border="0" height="32px" src="/images/icons/social-youtube.png" width="32px" /></a> </div> <!-- socialmedia --> </div> <!-- footer-social-div --> </div> <!-- footer-div --> <p class="vcard"> <span><span class="org"><b>Wingware</b></span></span> <span class="adr"><span class="street-address">P.O. Box 400527</span><span class="locality">Cambridge</span><span class="region">MA</span><span class="postal-code">02140-0006</span><span class="country-name">United States of America</span></span> </p> </div> <!-- footer --> <div id="post-footer"> </div> <!-- post-footer --> </div> <!-- container --> </body> </html>