Friday, January 11, 2019

Improved consistent syntax highlighting

PyScripter 3.6 provides improved consistent highlighting of the support languages.  You can select your favourite highlighting scheme using Tools, Options, Editor Options, Color Theme.  Here is a sample using the Dark_waher theme:

Python:

HTML:

JavaScript:
JSON:


Note that you can easily adjust the background color of a theme, keeping the rest of the colors the same. (Adjust darkness to your taste).

SSH Engines using Putty

In addition to OpenSSH, PyScripter 3.6 support the use of PuTTY for connecting to remote engines using SSH.  PuTTY is an easy to use and popular SSH client.   After you download PuTTY you can use to connect to remote machines either:
  • using user name and password or
  • by setting up a public/private key combination and setting up a password-free login using the pagent utility
PyScripter supports both modes of connection, but clearly the password-free login is faster and easier once you make the effort to set it up.  This video, among others, explains how to do this.

Here is a sample SSH engine configuration using putty:


You need to provide:
  • the user name
  • the host name (ip address)
  • the paths to the scp and plink commands of putty.  (plink is putty's ssh command)
  • the server name used to identify this SSH engine
  • ssh and scp options (if needed)
  • the command that will be used to run python in the server
  • if you have not setup a password-free connection then check the "Password Needed" option.
Then use the Run, Python Engine, SSH menu option to connect to a remote machine.   If a password is needed PyScripter will prompt you for the password.  Also if you connect the server (host machine) for the first time,  PyScripter will warn you about an "unknown server" and ask you whether you want to proceed.   Everything is hanlded automatically.  And there you are:


You can now run and debug programs on the remote server.  You can also open and edit remote files in the editor and save them back to the server as if they were local.

System commands in the interpreter

PyScripter 3.6 allows you to issue system commands in the interpreter.  System commands start with an exclamation mark (!).  For example:


One gotcha that you need to be aware is that you changing the current directory will not have any effect, since system commands are executed in a separate process.  You will need to use  os.chdir for the change to take effect.

A nice twist about this feature, is that if you use an SSH Engine you can issue system commands to the remote server:



PyScripter v3.6 released

Happy New Year!

PyScripter 3.6.0 is now available at Sourceforge.  There is a range of important new features and bug fixes in this release:

New features:
  • Much faster Remote Engine using asynchronous Windows named pipes if pywin32 is available.
  • IDE option to force the use of sockets for connection to the Python server now defaults to False.
  • Enhancements to the SSH Engine - now compatible with PuTTY.
  • Execute system commands in the interpreter with !. Supports parameter substitution.
  • Clickable status panels with Python version and engine type.
  • Text drag & drop between PyScripter and other applications #554
  • Triple-click selects line and Quadraple-click selects all
  • Double-click drag selects whole words - triple-click drag selects whole lines
  • Consistent syntax color themes accross supported languages #855
  • New IDE option "Trim trailing spaces when saving files" #667
  • New IDE Option 'Step into open files only'. Defaults to False. #510 
Issues addressed: