Release Notes
v1.2.0
26 March 2025
AI Chat
A new AI chat feature is now available in Scripton. It requires a GitHub Copilot subscription (the free plan is supported).
To display the chat tab, you can use either its shortcut (
⌘
+ctrl
+I
), the command palette (search "ai chat"), or this toolbar button —AI Code Completion
Once you log in to GitHub Copilot within Scripton (either via the AI Chat tab, or Settings > AI), AI code completion will automatically start working in the editor —
AI code completion is also available in the REPL, where it can automatically incorporate context from past inputs to provide completion suggestions —
AI Code Generation
You can also directly generate code from within the editor. You can bring up the inline code generation prompt using its editor shortcut (
⌘
+I
) —Tip: You can switch the code generation model by clicking on the gear icon.
Auto Recall Run Arguments
Starting with this release, Scripton will automatically remember the last used arguments for each target —
/run analysis --data nyc_v2.csv --output /data/resultsand automatically use them when the same target is re-run (eg: via the toolbar or
⌘
+R
).This release also introduces the special alias
:
for the current target, which can be used like so:/run : <any arguments go here>Memory Optimizations
Reduced memory usage, especially for the case where a large number of files are open.
v1.1.0
16 February 2025
New command palette modes
This version adds a couple of new command palette modes. The first allows quickly searching through symbols in the active document (
⌘
+shift
+O
) —You can also search for symbols across the entire workspace (
⌘
+T
) —There are a couple ways to switch between these modes (in addition to their usual keyboard shortcuts). The first is using common prefixes you may already be familiar with from other editors (like
>
for commands,:
to jump to a line, and so on).You can also use the new menu at the bottom —
Add custom Python environments and interpreters by path.
By default, Scripton auto-detects Python interpreters and environments on your machine (like those installed using Conda and Homebrew). However, what if you want to use a custom environment/interpreter that's not automatically discoverable? For instance, you may have a folder containing a custom virtual env that's not a part of your the open workspace. Or you may have an isolated Python binary.
Starting this version, you can simply enter the path to any Python binary/environment and Scripton will auto-detect and persist it in its list of environments.
Run as Python Module
It's now possible to get the same behavior as
python -m
. Scripton will now auto-detect when the active execution target is part of a Python package (based on the presence on__init__.py
and__main__.py
files) —In addition, the
/run
special command has been extended to support a new syntax for Run as Module:/run module:[optional workspace relative path]<module name>For instance, this is equivalent to executing
python -m foo.bar
when the packagefoo
is in the currently open workspace's top-level:/run module:foo.barIf, instead, the package was located under the
src
sub-directory:/run module:src/foo.barThe editor and REPL text can now be zoomed in and out.
⌘
++
(zoom in),⌘
+-
(zoom out),⌘
+0
(reset)Improved on-type formatting
- The cursor is now correctly positioned when pressing enter after hanging indents.
- Triple-quotes are now auto-closed.
- Auto outdent after
return
,raise
,pass
,break
- Auto outdent on
:
forelse
,elif
,catch
,finally
Improved dictionary key auto-completion