Pythonrc: Don’t pollute PyREPL with variables (#26148)
Fixes #26147
Before
After
This pull request refactors the initialization logic in
python_files/pythonrc.pyto avoid polluting the module’s global namespace, and adds a corresponding test to ensure this behavior. The main change is wrapping the script’s setup code in a private function and then deleting it after execution.Refactoring and namespace cleanliness:
- Moved all initialization code in
pythonrc.pyinto a private_initialize()function, and called and deleted it at the end of the file to prevent leftover names in the module’s global namespace. [1] [2]- Removed unnecessary blank lines and improved code organization for readability. [1] [2] [3]
Testing:
- Added
test_does_not_pollute_namespaceintest_shell_integration.pyto verify thatpythonrc.pydoes not leave any non-dunder (non-__) names in its global namespace after import.
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Python extension for Visual Studio Code
A Visual Studio Code extension with rich support for the Python language (for all actively supported Python versions), providing access points for extensions to seamlessly integrate and offer support for IntelliSense (Pylance), debugging (Python Debugger), formatting, linting, code navigation, refactoring, variable explorer, test explorer, environment management (NEW Python Environments Extension).
Support for vscode.dev
The Python extension does offer some support when running on vscode.dev (which includes github.dev). This includes partial IntelliSense for open files in the editor.
Installed extensions
The Python extension will automatically install the following extensions by default to provide the best Python development experience in VS Code:
These extensions are optional dependencies, meaning the Python extension will remain fully functional if they fail to be installed. Any or all of these extensions can be disabled or uninstalled at the expense of some features. Extensions installed through the marketplace are subject to the Marketplace Terms of Use.
About the Python Environments Extension
You may now see that the Python Environments Extension is installed for you, but it may or may not be “enabled” in your VS Code experience. Enablement is controlled by the setting
"python.useEnvironmentsExtension": true(orfalse).true, you will manually opt in to using the Python Environments Extension for environment management.The Python Environments Extension is still under active development and experimentation. Its goal is to provide a dedicated view and improved workflows for creating, deleting, and switching between Python environments, as well as managing packages. If you have feedback, please let us know via issues.
Extensibility
The Python extension provides pluggable access points for extensions that extend various feature areas to further improve your Python development experience. These extensions are all optional and depend on your project configuration and preferences.
If you encounter issues with any of the listed extensions, please file an issue in its corresponding repo.
Quick start
Set up your environment
Select your Python interpreter by clicking on the status bar
Configure the debugger through the Debug Activity Bar
Configure tests by running the
Configure TestscommandJupyter Notebook quick start
The Python extension offers support for Jupyter notebooks via the Jupyter extension to provide you a great Python notebook experience in VS Code.
Install the Jupyter extension.
Open or create a Jupyter Notebook file (.ipynb) and start coding in our Notebook Editor!
For more information you can:
Useful commands
Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type in one of the following commands:
Python: Select InterpreterPython: Start Terminal REPLPython: Run Python File in TerminalRun Python File in Terminal.Python: Configure TestsTo see all available Python commands, open the Command Palette and type
Python. For Jupyter extension commands, just typeJupyter.Feature details
Learn more about the rich features of the Python extension:
Supported locales
The extension is available in multiple languages:
de,en,es,fa,fr,it,ja,ko-kr,nl,pl,pt-br,ru,tr,zh-cn,zh-twQuestions, issues, feature requests, and contributions
Data and telemetry
The Microsoft Python Extension for Visual Studio Code collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. This extension respects the
telemetry.telemetryLevelsetting which you can learn more about at https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting.