All Projects → bitagoras → PyPadPlusPlus

bitagoras / PyPadPlusPlus

Licence: GPL-3.0 License
Python IDE based on Notepad++ and PythonScript

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PyPadPlusPlus

julia-NotepadPlusPlus
Julia language support for Notepad++
Stars: ✭ 34 (-24.44%)
Mutual labels:  notepadplusplus, notepad-plusplus-plugin
NotepadPlusPlusPluginPack.Net
.Net package to install into visual studio to make plugins for Notepad++
Stars: ✭ 123 (+173.33%)
Mutual labels:  notepadplusplus, notepad-plusplus-plugin
Shipr-Community-Android
Shipr Social is the Multi Platform Chat Project for Developers
Stars: ✭ 21 (-53.33%)
Mutual labels:  ide
asn1scc.IDE
Qt Creator plugin for asn1scc - ASN.1/ACN compiler for embedded systems
Stars: ✭ 15 (-66.67%)
Mutual labels:  ide
excel validator
Python script to validate data in Excel files
Stars: ✭ 14 (-68.89%)
Mutual labels:  python-script
Ted2Go
Ted2Go IDE is a leading IDE for Monkey2 programming language. Written on Monkey2! Based on original Ted2.
Stars: ✭ 16 (-64.44%)
Mutual labels:  ide
cloud9-launcher
Simple web ui for managing workspace of self-hosted Cloud9 IDE
Stars: ✭ 18 (-60%)
Mutual labels:  ide
telekom fon connect
Script for automatic login @ Telekom_FON Hotspot with your telekom credentials
Stars: ✭ 16 (-64.44%)
Mutual labels:  python-script
yii2-autocomplete-helper
Yii2 IDE Autocomplete Helper
Stars: ✭ 38 (-15.56%)
Mutual labels:  ide
Resume-Generator
A Resume builder which allows users to build their own custom resumes with details like experience,projects , skills ,education etc. Users can also have the feature to download their resumes . To contribute send PR at development branch from where it will be merged in master once checked.
Stars: ✭ 28 (-37.78%)
Mutual labels:  python-script
garmin-connect-export
Downloads gpx, tcx or original fit files from your Garmin Connect Account.
Stars: ✭ 42 (-6.67%)
Mutual labels:  python-script
pazel
pazel - generate Bazel BUILD files for Python
Stars: ✭ 38 (-15.56%)
Mutual labels:  python-script
gq-gmc-control
Control tool for the GQ GMC Geiger Counters.
Stars: ✭ 34 (-24.44%)
Mutual labels:  python-script
BingWallpaper
A python script which automatically updates desktop wallpaper on a Linux machine from bing.com (image for the day)
Stars: ✭ 15 (-66.67%)
Mutual labels:  python-script
AG NTRIP ESP
AG Rooftop controller with NTRIP client and IMU (ESP32 Controller)
Stars: ✭ 25 (-44.44%)
Mutual labels:  ide
python-automated-bulk-whatsapp-messages
It is a python script to send automated bulk WhatsApp messages to multiple recipients from an excel sheet at once.
Stars: ✭ 56 (+24.44%)
Mutual labels:  python-script
benten
A language server for Common Workflow Language
Stars: ✭ 50 (+11.11%)
Mutual labels:  ide
lsio-docker-mods
A docker mod for the linuxserver/letsencrypt container adding a python script to send geo location metrics to InfluxDB
Stars: ✭ 21 (-53.33%)
Mutual labels:  python-script
puppeteer-ide-extension
Standalone puppeteer playground in browser's developer tools.
Stars: ✭ 65 (+44.44%)
Mutual labels:  ide
cti-pattern-validator
OASIS TC Open Repository: Validate patterns used to express cyber observable content in STIX Indicators
Stars: ✭ 18 (-60%)
Mutual labels:  python-script

PyPadPlusPlus

Addon for Notepad++ and PythonScript for interactive Python development

PyPadPlusPlus is an interactive Python environment based on Notepad++ (https://notepad-plus-plus.org/) and PythonScript (https://github.com/bruderstein/PythonScript/).

Its special property is a fusion of the interactive Python shell with the editor to one single tool. This means that the editor can be used for both interactive testing and storing the final code. So, you never have to copy code lines again from the editor to the shell or back. The output appears in a second frame, which is an output-only area, while the editor is an input-only area.

To execute one line or a piece of code press <Shift> + <Enter>. This executes the current line or the smallest number of lines belonging syntatically to the selection. No precise selection is required in order to execute valid parts of the code. The whole script can be executed with the selection of all lines by <Ctrl> + <A>. Cells of code can be optionally defined by special comments starting with #%%. In any case you have the choice whether you want to execute cells, single lines or code selections. With the mouse wheel button you can execute any line or piece of code by one click. The output is shown in an output console frame. The console has an undo buffer for every execution that produced some output.

Selecting a variable and hovering over it with the mouse or selecting any expresion and pressing <Alt> + <Space> will show a popup with information about its current type and value. This also supports numpy shape information. Autocompletion lists for objects and dictionaries allows you to explore the current run-time information of a variable.

The extension comes with another little feature that fits perfectly in the workflow of PyPadPlusPlus. It allows you to log small pieces of code you wish to keep but don't know where to store. Just select any piece of code and press the keyboard shortcut <Alt> + <S>. The selection will be added to a file codeSnippetsLog.txt with the time and date in a comment line. Pressing the shortcut again without any selection opens this file. It acts as a kind of "Python diary" for code snippets.

Features

  • Run Python code line-by-line with <Shift> + <Enter>
  • Run selected Python code (intelligent selection, no accurate selection is required)
  • Run line or selection with middle mouse button
  • Run line or selection multiple times while cursor does not propagate (<Shift> + <Ctrl> + <Enter>)
  • Run cells of python code defined by #%% comments with <Shift> + <Enter> whey the cursor is at this comment line
  • A color marker highlights last executed lines
  • Animated color marker for active lines
  • Tooltip for run-time variable and object inspection of selected items and mouse hover or <Alt> + <Space>.
  • Evaluate variables below the cursor or any selected expression with <Alt> + <Space>, even some code is still running
  • Special Tooltip with size and shape information of numpy arrays
  • Code auto completion for run-time defined object properties, dictionary keys, function calls
  • Calltip for function calls, doc string and module help
  • Special Tooltip to quickly switch between True and False
  • Click on any Tooltip to show full string or help text in output console
  • Output console has an undo buffer (click inside and press <Ctrl> + <z>)
  • Clear output console with <Shift> + <Ctrl> + <C>.
  • Internal or external Python distribution can be used for Python 3 kernels.
  • Take controll over Notepad++ with the Npp module provided by PythonScript (only available when using the internal Python. Load library with import Npp)
  • Reset and restart Python kernel with <Alt> + <R>, e.g. when stuck in endless loop. (only available when using an external Python, otherwise this only performs a variable reset)
  • Matplotlib event handler to hold multiple active plot windows

Tutorial

Tutorial video on PyPadPlusPlus by Amit Christian:

Download

PyPadPlusPlus requires Notepad++ and PythonScript. Since the installation is quite cumbersome you can download the latest release ready-to-play in a bundle with Notepad++ v8.1, PythonScript v3.0.8.0 and Python 3.9 as portable version:

This version also includes multi cursor selection like in Sublimetext or VSCode:

  • select next: <Ctrl> + <D>

  • select next whole word: <Shift> + <Ctrl> + <D>

  • undo select next: <Ctrl> + <U>

  • skip and select next: <Ctrl> + <E>

  • select all: <Shift> + <Ctrl> + <L>

Installation

If you need to install PyPadPlusPlus in another version of Notepad++ you have to go the hard way:

  1. Install Python Script from https://github.com/bruderstein/PythonScript/releases/ or in the plugin manager of Notepad++.
  2. Download the sources or the latest release of PyPadPlusPlus and extract the files into the script folder of PythonScript:
    notepad++\plugins\PythonScript\scripts\ ("machine scripts")
    or notepad++\plugins\config\PythonScript\scripts\ ("user scripts")
  3. Open the file pyPadStart.py and set pythonPath to the path of your pythonw.exe file.
  4. Start Notepad++ and go to the menu "Plugins → Python Script → Configuration..."
  5. Select "Machine Scripts" (or "User Scripts") and add the scripts to Menu items:
    • pyPadClear.py clears the console output
    • pyPadExecute.py executes the current line or selection
    • pyPadExecuteFix.py same as pyPadExecute but keeps the cursor at its position
    • pyPadRestart.py restarts the python kernel or cleans the variables
    • codeSnippetsLog.py optional: to store code snippets
    • pyPadCalltip.py Shows a calltip with the content of the variable below the cursor or the evaluation of the selected expression.
  6. Press OK, restart Notepad++ and go to menu "Settings → Shortcut mapper" and define in the tab "Plugin commands" the shortcuts:
    • pyPadExecute.py <Shift> + <Enter>
    • pyPadExecuteFix.py <Shift> + <Ctrl> + <Enter>
    • pyPadClear.py <Shift> + <Ctrl> + <C>
    • pyPadCalltip.py <Alt> + <Space>
    • Show Console <Ctrl> + <Alt> + <C>
    • pyPadRestart.py <Alt> + <R>
    • codeSnippetsLog.py <Alt> + <S>
  7. When Notepad++ does not allow you to define a shortcut on <Shift> + <Enter>, use <Shift> + <Alt> + <Enter> as preliminary shortcut. Then go to "Settings / Shortcut mapper / Scintilla commands" and unset <Shift> + <Enter> for SCI_NEWLINE. Now open shortcuts.xml in the Notepad++ Folder. Check if there is a line <ScintKey ScintID="2329" menuCmdID="0" Ctrl="no" Alt="no" Shift="no" Key="13" />. If not try to find it in the C:\Users\<user name>\AppData\Roaming\Notepad++\ or C:\Users\<user name>\AppData\Local\Notepad++\ folder when Notepad++ was installed with the installer. Now search the line
    • <PluginCommand moduleName="PythonScript.dll" internalID="8" Ctrl="no" Alt="yes" Shift="yes" Key="13" />
    • The internalID can differ from yours. Then change the Alt="yes" into Alt="no".
  8. If you want to use the Python installation of your system, open the file notepad++\plugins\PythonScript\scripts\ and set the variable pythonPath to the path that contains pythonw.exe.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].