Paul Everitt

Paul Everitt

Python and Web Developer Advocate at JetBrains

Paul is a Developer Advocate at JetBrains, focusing on Python and the Web. Before that, Paul was a co-founder of Zope Corporation, taking the first open source application server through $14M of funding. Paul has bootstrapped both the Python Software Foundation and the Plone Foundation. Prior to that, Paul was an officer in the US Navy, starting www.navy.mil in 1993.

How do I do Django APIs in PyCharm

JetBrains Blog

How do I do Django APIs in PyCharm
I recently attended DjangoConf 2024 which kicked off this year’s DSF-PyCharm fundraiser. I attended Felipe’s DRF tutorial where he showed off using PyCharm and even a little bit about endpoints.
Run npm Scripts from package.json

Tip

Run npm Scripts from package.json
Browse your package.json scripts and run in a dedicated tool window.
Make Your Work Environment Distraction Free

Tip

Make Your Work Environment Distraction Free
Need to focus on just your code? You can switch to the distraction-free or zen mode.
Search in Selection Only

Tip

Search in Selection Only
Limit the search to the selected part of code.
Create Arrow Functions in One Click

Tip

Create Arrow Functions in One Click
WebStorm can help you add arrow functions to your code.
Show CSS Color Preview

Tip

Show CSS Color Preview
How to display a CSS color in the background in WebStorm.
Clean Up Messy Imports With Optimize Imports

Tip

Clean Up Messy Imports With Optimize Imports
Quickly remove any unused imports and more.
Add console.log Faster

Tip

Add console.log Faster
Use Postfix Completion to quickly add console.log.
See Return Values in Variables View

Tip

See Return Values in Variables View
See what value a method returns.
Add Placeholder Text in Seconds

Tip

Add Placeholder Text in Seconds
Use the power of Emmet to add some lorem ipsum faster.
Using Code Snippets

Tip

Using Code Snippets
How to use the built-in code snippets in JetBrains IDEs.
Comment Out Code

Tip

Comment Out Code
Quickly comment/uncomment blocks and lines.
Enabling Soft Wraps

Tip

Enabling Soft Wraps
Wrap lines to eliminate the need of scrolling horizontally in order to see overly long lines.
Quickly Sort Lines

Tip

Quickly Sort Lines
Sort lines of code in your editor alphabetically.
Edit Text in Multiple Places at Once

Tip

Edit Text in Multiple Places at Once
How to use multiple cursors to code faster in JetBrains IDEs.
Full Line Code Completion in JetBrains IDEs

JetBrains Blog

Full Line Code Completion in JetBrains IDEs
How does it work, what languages are supported, and how can you get started?
Better 11ty Development with Tooling

Tutorial

Better 11ty Development with Tooling
Getting a component-driven development experience that fits nicely into the 11ty zen.
DOM Testing with Happy DOM and Testing Library

Part of tutorial

DOM Testing with Happy DOM and Testing Library
Better-faster testing of rendered pages using a DOM library and accessibility-oriented assertions.
Components With Props

Part of tutorial

Components With Props
Faster, smoother development and reusability with components and props.
Get 11ty 3.0 and ESM

Part of tutorial

Get 11ty 3.0 and ESM
Smallest step into an 11ty setup.
Layouts

Part of tutorial

Layouts
Shared wrapper templates using TSX and components.
Switch to TypeScript

Part of tutorial

Switch to TypeScript
Develop 11ty sites with assistance from TypeScript typing.
Templating in TSX

Part of tutorial

Templating in TSX
Use TSX (JSX in TypeScript) to generate HTML.
Testing with Vitest

Part of tutorial

Testing with Vitest
Develop with calm and joy through component testing.
11ty Views

Part of tutorial

11ty Views
Interfacing the 11ty system and components.
Debug Like a Pro: JavaScript Edition

Article

Debug Like a Pro: JavaScript Edition
Reach for the debugger first when learning about code, poking around, or fixing problems.
Productive pytest with PyCharm

YouTube

Productive pytest with PyCharm
Testing is a major part of Python development and pytest has become the leading testing framework.
It's Not Just Node.js Anymore

YouTube

It's Not Just Node.js Anymore
James M Snell
Angular 13

YouTube

Angular 13
Aaron Frost
Documenting the Web Platform

YouTube

Documenting the Web Platform
Florian Scholz
Monorepos: Any Size Fits All

YouTube

Monorepos: Any Size Fits All
Altan Stalker
TC39 Demystified

YouTube

TC39 Demystified
Ujjwal Sharma
I Would Never Use an ORM

YouTube

I Would Never Use an ORM
Matteo Collina
The World Beyond Components

YouTube

The World Beyond Components
Ryan Carniato
Nuxt 3 – More Than Vue 3 on Steroids
Remote Development

Channel

Remote Development
Learn the ins and outs of remote development: virtualization, containers, dev containers, and cloud.
Resolve Conflicts

Tip

Resolve Conflicts
Resolve merge conflicts automatically and manually inside your JetBrains IDE.
Move Work Aside with Stash

Tip

Move Work Aside with Stash
Use Git's stash to move uncommitted work to one side, temporarily.
Move Work Aside with Shelve

Tip

Move Work Aside with Shelve
Move uncommitted work to one side to come back to it later when you need to work on another branch.
Rebase Feature Branch

Tip

Rebase Feature Branch
Add the changes from your main branch into your feature branch so you're caught up with changes on the main branch.
Compare With Branch

Tip

Compare With Branch
See the changes in another branch's commits and compare them with your branch.
See Unsynced Commits

Tip

See Unsynced Commits
Take a look at commits on other branches.
Browse Branch's Commits

Tip

Browse Branch's Commits
Review the changes in main before bringing them to your branch.
See VCS Changed Lines in Gutter

Tip

See VCS Changed Lines in Gutter
Quickly spot which parts of your file have changed since the last commit.
Only Commit Some Changes

Tip

Only Commit Some Changes
Select specific files or regions within files during the commit process for a lower level of commit granularity.
Fix Your Work with Amend Commit

Tip

Fix Your Work with Amend Commit
Put some missing work back into your last commit, before you push.
JavaScript Day 2022

Playlist

JavaScript Day 2022
JetBrains JavaScript Day 2022 is a free virtual event that took place on November 10, 2022.
Use Local History to Avoid Disaster

Tip

Use Local History to Avoid Disaster
Use the IDE's built-in history facility to recover local changes when you haven't committed to VCS.
Undo your Last Commit

Tip

Undo your Last Commit
Undo your last Git commit
Edit Commit Message

Tip

Edit Commit Message
Edit the wording in your last commit message, after you committed.
Django-in-PyCharm Tips, Reloaded

YouTube

Django-in-PyCharm Tips, Reloaded
Two and a half years ago we did a “Django tips in PyCharm” webinar; this refresher swaps out some tips, but also shows lots of new goodness in the IDE.
JavaScript Day 2021

Playlist

JavaScript Day 2021
JetBrains JavaScript Day 2021 is a free virtual event that took place on October 14, 2021.
React, TypeScript, and TDD

Tutorial

React, TypeScript, and TDD
How to write React applications in TypeScript using TDD, highlighting features of the IDE
Class Components With Props

Part of tutorial

Class Components With Props
Make a simple class component with a single prop, again with a TypeScript interface describing the props.
Debugging TSX With Chrome

Part of tutorial

Debugging TSX With Chrome
Sometimes you need to debug in the browser. Use the IDE to remote control Chrome during debugging.
Class Components With State

Part of tutorial

Class Components With State
Make a very simple class component with local counter state, then make a type definition for that state.
Debugging During Testing With Node.js

Part of tutorial

Debugging During Testing With Node.js
Use the visual debugger in the IDE for smarter TDD.
Presentation and Container Components

Part of tutorial

Presentation and Container Components
Follow the React pattern of container/presentation components by refactoring the code and tests.
Project Cleanup

Part of tutorial

Project Cleanup
Clean out some unneeded code from the default app, tweak some configuration in the IDE, and tour a few more features.
Project Setup

Part of tutorial

Project Setup
Create a React+TypeScript project with the create-react-app scaffolding tool.
Rich Events and Testing

Part of tutorial

Rich Events and Testing
Add event handling to a stateful class component by first writing tests during development.
Testing

Part of tutorial

Testing
Test-first development with Jest in the IDE.
TSX and ES6

Part of tutorial

TSX and ES6
Using React and TypeScript means good JSX and ES6+ support in the IDE. This section shows some useful features from both.
Static Sites With Sphinx and Markdown

Tutorial

Static Sites With Sphinx and Markdown
Sphinx is great for docs. But it's also great for information-rich websites. With MyST, you can use Markdown with Sphinx.
Advanced Usage

Part of tutorial

Advanced Usage
MyST has a lot more to offer than just Markdown-in-Sphinx.
Simple Markdown in Sphinx

Part of tutorial

Simple Markdown in Sphinx
Markdown is a simple formatting language. Let's see it in use in Sphinx.
Customizing Your Site

Part of tutorial

Customizing Your Site
Adjust Sphinx knobs using the configuration file.
Making a New Site Design

Part of tutorial

Making a New Site Design
Let's change the look on the website with custom templates.
Documenting Code

Part of tutorial

Documenting Code
Pages which include source code, either directly or linking to modules.
Linking

Part of tutorial

Linking
Sphinx turns links into structure, which turns out to be very valuable.
Linking Between Sites with Intersphinx

Part of tutorial

Linking Between Sites with Intersphinx
Rich structure and linking, between sites.
More Authoring

Part of tutorial

More Authoring
Simple Markdown stuff is cool. The cool Markdown stuff is double cool.
Sphinx Setup

Part of tutorial

Sphinx Setup
Make a project and virtual environment with dependencies, then make a simple Sphinx website.
Adding a Blog

Part of tutorial

Adding a Blog
Let's change the look on the website with new templates.
Web Fundamentals in Rider

Tutorial

Web Fundamentals in Rider
Learn how Rider helps you with web applications to build full-stack apps with ease.
Navigation in web applications

Part of tutorial

Navigation in web applications
How can you find what you want? Let's look at navigating around a code base.
Debugging code

Part of tutorial

Debugging code
What's your code doing? Step through code with the debugger, and find out.
Coding Assistance

Part of tutorial

Coding Assistance
Find out how Rider helps you write better code, faster.
Refactoring

Part of tutorial

Refactoring
See how the IDE helps you safely refactor code, without breaking existing code.
Testing code

Part of tutorial

Testing code
Get started with testing. We will use Jest as an example.
Running code

Part of tutorial

Running code
How to run your code and see the results? Let's explore.
Create SQLite Connection

YouTube

Create SQLite Connection
Learn how to drag-and-drop a .sqlite database file onto the Database tool to create a connection.
Go

Channel

Go
The Hitchhiker's Guide to Go
JavaScript and TypeScript

Channel

JavaScript and TypeScript
Explore a collection of learning resources to increase your productivity and start making amazing apps faster.
Python

Channel

Python
Well-organized collection of learning resources for Python.
Paul Everitt

Author

Paul Everitt
Python and Web Developer Advocate at JetBrains
Build

Topic

Build
Work effectively with build tools.
Angular

Topic

Angular
Web framework for building mobile and desktop applications
Amazon AWS

Topic

Amazon AWS
Amazon Web Services (AWS) is a secure cloud services platform
Completion

Topic

Completion
Everything there is to know about Code Completion.
Coverage

Topic

Coverage
Ensure that your code has good tests
CSS

Topic

CSS
Mechanism for adding style to web pages
Customizing the IDE

Topic

Customizing the IDE
Extend the built-in functionality and change the look and feel
Data Access

Topic

Data Access
Working with data storage mechanisms
Databases

Topic

Databases
Working with relational databases.
Django

Topic

Django
The web framework for perfectionists with deadlines
Debugging

Topic

Debugging
Investigate errors and trace code execution with our visual debugger.
create-react-app

Topic

create-react-app
Create React apps with no build configuration
Emmet

Topic

Emmet
Shorthand system for HTML and CSS generation
dotCover

Topic

dotCover
The .NET Unit Test Runner and Code Coverage Tool.
dotMemory

Topic

dotMemory
The .NET Memory Profiler.
Editing

Topic

Editing
Learning resources when writing code in the IDE's editor.
dotTrace

Topic

dotTrace
.NET Performance Profiler.
FastAPI

Topic

FastAPI
modern, fast (high-performance), web framework for building APIs
GameDev

Topic

GameDev
A smarter way to write code for games.
Google Cloud

Topic

Google Cloud
Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services
Generics

Topic

Generics
Learn about generics in Go.
Getting Started

Topic

Getting Started
If you're new to our IDEs or a technology, start here.
Gradle

Topic

Gradle
Gradle is an open-source build automation tool focused on flexibility and performance.
Go

Topic

Go
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Git

Topic

Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
IDE

Topic

IDE
Become more productive with general IDE tips and features.
Groovy

Topic

Groovy
Groovy is a powerful, optionally typed and dynamic language for the JVM.
HTML

Topic

HTML
Standard markup language for creating web pages
Java

Topic

Java
Java is a general-purpose programming language intended to let application developers write once and run anywhere.
Interface

Topic

Interface
Tips and tricks for modifying the IDE interface.
Jest

Topic

Jest
JavaScript testing framework with a focus on simplicity
JSON

Topic

JSON
An open standard format that uses human-readable text to store and transmit data objects.
JUnit

Topic

JUnit
The JUnit Platform serves as a foundation for launching testing frameworks on the JVM.
Kotlin

Topic

Kotlin
A modern programming language that makes developers happier.
Kubernetes

Topic

Kubernetes
Automated deployment, scaling, and management of containerized applications
Latest

Topic

Latest
See features that are new in the latest IDE releases.
Live Templates

Topic

Live Templates
Write common code quickly with just a few keystrokes.
Maven

Topic

Maven
A tool that can be used for building and managing any Java-based project.
Navigation

Topic

Navigation
Productive ways to move around in your project.
MongoDB

Topic

MongoDB
Learn about the MongoDB document database.
Markup

Topic

Markup
Languages such as markdown and asciidoc
Package Search

Topic

Package Search
Search, evaluate, and manage dependencies in IDE easily.
Plugins

Topic

Plugins
See tips and suggestions for working with IDE plugins
Platform

Topic

Platform
A group of technologies or features shared among more than a single specific language
Inspections

Topic

Inspections
Analyzing source code for common mistakes and potential improvements.
Node.js

Topic

Node.js
JavaScript outside the browser, on the command-line or server-side
Postgres

Topic

Postgres
Working with the popular open source database.
Profiling

Topic

Profiling
Analyze application performance and memory usage.
Quick-fixes

Topic

Quick-fixes
Learn how code can be updated automatically
pytest

Topic

pytest
Mature full-featured Python testing tool that helps you write better programs
Python

Topic

Python
Work productively when coding Python.
React

Topic

React
A JavaScript library for building user interfaces
Refactoring

Topic

Refactoring
Keep your code solid, dry, and easy to maintain.
RiderFlow

Topic

RiderFlow
Scenery tool to build and manage your 3D space.
Rider

Topic

Rider
Fast & powerful, cross platform .NET IDE.
ReSharper

Topic

ReSharper
The Visual Studio Extension for .NET Developers.
Settings

Topic

Settings
Different configurations for your projects.
Sphinx

Topic

Sphinx
Python static site generator for documentation and more
Running

Topic

Running
Run your code in our configurable, visual run tool.
Security

Topic

Security
Securing your applications and code
Testing

Topic

Testing
Make sure code behaves as expected.
Spring

Topic

Spring
The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Tricks

Topic

Tricks
Little IDE tricks that you might not know about.
Apache Tomcat

Topic

Apache Tomcat
Apache Tomcat® is a web server and servlet container for Java web applications.
User Interface

Topic

User Interface
Everything about the user interface.
Version Control

Topic

Version Control
Integrated, visual version control across your project.
Web Development

Topic

Web Development
Working with technologies in the web platform such as HTML, CSS, images, and JavaScript.
TypeScript

Topic

TypeScript
JavaScript for any scale
42 Tips and Tricks

Playlist

42 Tips and Tricks
Become an IDE champ with these bite-sized tips and tricks.
Create SQLite Database Connection

Tip

Create SQLite Database Connection
How to drag-and-drop a .sqlite database file onto the Database tool to create a connection.
Put New Project Under Version Control

Tip

Put New Project Under Version Control
The fastest way to register a new project directory under local version control.
Split Screen Without Tabs

Tip

Split Screen Without Tabs
Get your code and tests side-by-side without resorting to tabs.
Spot Coverage Gaps Using the Gutter

Tip

Spot Coverage Gaps Using the Gutter
Let the IDE help you spot coverage gaps in your testing.
Wrap Selection With Tag

Tip

Wrap Selection With Tag
Use the keyboard to put a wrapper tag around a selection of code.
Auto-Run Tests

Tip

Auto-Run Tests
Get into testing mode by telling PyCharm to automatically re-run tests as you type.
Evaluate Expression During Debugging

Tip

Evaluate Expression During Debugging
Select your code and execute it, in the right context.
Run From Keyboard

Tip

Run From Keyboard
Use the keyboard to select and run a run configuration.
Rename a File and its References

Tip

Rename a File and its References
Change your mind on a file name and the IDE makes all the changes for you.
Rename Symbol

Tip

Rename Symbol
Change a variable name, class name, or other symbol, across the project.
Move Block Up/Down Using Keyboard

Tip

Move Block Up/Down Using Keyboard
Use the keyboard to move a line or selection up or down in your file.
Quick Documentation

Tip

Quick Documentation
View arguments and documentation without interrupting your flow.
View Parameter Info

Tip

View Parameter Info
Quickly see function arguments and argument types.
Make and Extend Selection Using Keyboard

Tip

Make and Extend Selection Using Keyboard
Use the keyboard to select blocks of code then extend/shrink the selection.
Add Line After/Before

Tip

Add Line After/Before
Smart-add a line, from the middle of a line, after or before the current line.
Run Single Test

Tip

Run Single Test
Speed up testing by focusing on one test.
Generate Imports While Typing

Tip

Generate Imports While Typing
Avoid interruption by letting PyCharm generate your imports as you type.
Optimize Imports

Tip

Optimize Imports
Automate the organizing and cleaning up of your Python imports with optimize imports.
Navigate Cursor Position Back and Forth

Tip

Navigate Cursor Position Back and Forth
Easily navigate back to where you were, or where you went.
Managing Copyright Policy

Tip

Managing Copyright Policy
Use the copyright tool to manage a copyright statement across project files.
Parsed f-string expressions

Tip

Parsed f-string expressions
Bracket completion and syntax highlighting for f-string evaluated expressions.
Navigate to Symbol

Tip

Navigate to Symbol
Navigate your project by code, not files.
LiveEdit HTML and CSS

Tip

LiveEdit HTML and CSS
With the LiveEdit plugin, open HTML and CSS in Chrome, over HTTP, and see updates as you save.
Navigate to File

Tip

Navigate to File
Jump to a file without using the Project Tool and your mouse.
One Import Per Line Preference

Tip

One Import Per Line Preference
Tell PyCharm to put each import on a separate line when it cleans up your imports.
Better Autocomplete Results in Angular Templates

Tip

Better Autocomplete Results in Angular Templates
Narrow the universe of Angular template completions to those that matter.