DataSpell 2024.1 Help

Python code insight

Code insight is a common name used for Code completion, intention actions, type inference, and other techniques related to the code analysis in DataSpell.

Syntax highlighting

The DataSpell editor respects highlighting of the keywords, comments, parameters, , and other elements.

class Car: """This class represents a car object.""" def __init__(self, speed=0): self.speed = speed self.odometer = 0 self.time = 0 # self.passengers = ['Lena', 'Benjamin', 'Tom'] def say_state(self): """Prints the current speed in kilometers per hour.""" print("I'm going {} kph!".format(self.speed))

The particular highlighting colors are defined in the Editor | Color Scheme page of the Settings dialog.

With new Python versions, DataSpell supports more specific types and language structures,for example, Python 3.10 specific pattern matching:

Pattern matching
from dataclasses import dataclass @dataclass class Point: x: int y: int def where_is(point): match point: case Point(x=0, y=0): print("Origin") case Point(x=0, y=y): print(f"Y={y}") case Point(x=x, y=0): print(f"X={x}") case Point(): print("Somewhere else") case _: print("Not a point")

Code completion

DataSpell supports auto-completion.

Code completion

As DataSpell indexes your whole project on each startup, it allows you to autocomplete any existing entity wherever it is defined.

DataSpell allows you to navigate to a location where a particular named code reference has been first declared. Place the caret at the symbol in the editor and press Ctrl+B. Alternatively, use Ctrl+Click.

View declaration

Checking regular expressions

If your code contains a regular expression, there is an intention action to check it: place the caret at the regular expression and press Alt+Enter. The RegExp checker shows up, where you can type the string and check if it matches the regular expression:

Checking regular expressions
import re def is_valid_email(email: str) -> bool: email_regex = re.compile("(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$)") return bool(re.match(email_regex, email))

For more information, refer to this section.

Viewing reference documentation

With DataSpell, you don’t need to surf the web every time you stumble across some alias, or search your whole application for a method declaration you can’t remember. Place the caret at a keyword you want to look up, and press Ctrl+Q:

Quick documentation
from math import sqrt def square_and_root(x): square = x ** 2 root = sqrt(x) return square, root
Last modified: 26 May 2024