Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
MASTERING PYCHARM
MASTERING PYCHARM

MASTERING PYCHARM: Use PyCharm with fluid efficiency to write idiomatic python code

eBook
€15.99 €23.99
Paperback
€29.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

MASTERING PYCHARM

Chapter 1. Getting the Right Look

 

"Simplicity is the ultimate sophistication."

 
 --Leonardo da Vinci

I fell in love with Python for its elegance. I love how there are no semicolons, how you can make a block through a simple indentation, how you can make multiline strings without having to concatenate them, and how you can make lambdas in a single line. I love how readable it all is, and how the documentation (docstrings) is built right into the language.

I think we all appreciate beauty. Think about it; you have a favorite font, a favorite color-scheme, and the list can go on. In essence, the code you write needs to be beautiful in your perspective, not just the syntax, but how it looks—the colors, the font, the highlighting—everything must be just right.

In this chapter, we are going to work toward making PyCharm beautiful. We'll progress from changing the overall appearance to some of the predefined appearances available to us on PyCharm. After that, we'll get into fonts and how the highlighting/coloring works in PyCharm. With the most difficult part of this chapter under our belt, we'll dive into exporting and importing styles and themes.

If you appreciate how your code looks and how you can make it as beautiful as possible, then this chapter will equip you with all the things necessary to make PyCharm as vibrant as you want it to be. I've tried to make this chapter light so that you can experiment yourself with it, and most things are pretty self-explanatory.

A short note on keyboard shortcuts

The keyboard shortcuts used in this chapter are the defaults for when you install PyCharm on Windows. PyCharm supports a wide range of shortcut schemes, and hence, it is impossible to include them all here (also, you might have made your own customizations). What I've tried to do is put in the name of the action being done so that you can take a look in your Keymap (by navigating to File | Settings…).

A short note on keyboard shortcuts

The basics

The first time you install PyCharm, the theme will default to IntelliJ. But, if you prefer something darker, I suggest you use Darcula. I personally prefer a darker IDE, so I go with a custom version of Darcula that's tailored to my tastes.

The basics

However, let's start with the default UI and see how we can make PyCharm look a little better.

The first change – fonts

The first thing that hit me when I opened up PyCharm was the hideous font set by default to be Courier New. Let's change this:

The first change – fonts

With the color scheme set to Default, you will need to save your new color scheme with a different name before you can go about making any changes to the scheme. You can just click on Save As... and then simply enter the name of your scheme in the popup. After doing so, you are free to make any changes you wish.

The first change – fonts

The Show only monospaced fonts option is enabled by default, but you can change it to include other fonts such as Arial or Times New Roman as well. Also the choice of a secondary font is important when you're trying to import your settings to another computer that does not have your desired font.

A typical example would be Consolas; it's only available on Windows machines, so when you try to import your font settings to Ubuntu or Mac, you likely get the default monospaced font. I usually set my default font to Consolas and my secondary font to Ubuntu Mono since it's free and can be made available on all the machines.

Now that the font business is taken care of, let's get down to a couple of other features. We will revisit this part of PyCharm pretty soon.

The layout

The layout

The default PyCharm layout is quite minimal. With reference to the preceding screenshot, you get an editor in [1], and the list of your directories and files in [2]. Actually, [2] is a sidebar, so if you click on [3], you get a totally different sidebar popping up.

You can show/hide it using Alt + number indicated by the underline. So, in this case, if you were to press Alt + 7, the panel indicated by [3] (Structure) would show up. Once you're familiar with the layout, you can hide all the panel buttons by clicking on [4].

The minimalist

The minimalist

If you'd like to focus completely on the code, you ideally want a minimalistic layout without all the extra tools taking up your screen. Let's see how PyCharm can help us with this.

The minimalist

So far, we can hide panels; now let's get rid of all the other distractions as well. The area highlighted with the arrow in the preceding screenshot is called the navigation bar; if you'd like to get rid of it, you can deselect the Navigation Bar option in the View option menu.

Note that with the Navigation Bar option, you also lose the Run, Debug, Coverage, and Search Anywhere buttons; but don't worry, there are plenty of shortcuts available so that you can do everything you want from your keyboard.

You can make the navigation bar appear as a popup instead of being a permanent bar by pressing Alt + Home (if this is not your shortcut, search for navigation bar in the Keymap):

The minimalist

As for the Debug and other buttons that we got rid of, you can always get them through Find Action, Ctrl + Shift + A.

The minimalist

Search Everywhere searches files, actions, classes, objects, and pretty much everything using double Shift (pressing Shift twice in quick succession):

The minimalist

PyCharm can also go to full screen mode (it even gives you a nice helpful clock in the top right):

The minimalist

I never use this mode because with my start menu minimized, with no navigation bar, and a collapsible Project sidebar, I have plenty of screen space to get the job done.

Another tool that I really appreciate is Switcher, which can be invoked with Ctrl + Tab. It appears as a floating window:

The minimalist

You can quickly navigate through your open files on the right-hand side of the window, and on the left-hand side you have some commonly used tools. You can navigate by pressing Tab again, and this will proceed through the list. You can also use the arrow keys. However, note that you will need to keep the Ctrl key pressed down as long as you're using Switcher.

You can quickly get to them by pressing the key underlined. In this case, you can quickly get to Terminal through first pressing Ctrl + Tab to bring up Switcher; if, while holding down the Ctrl key, you press 4, (in the preceding screenshot, Terminal is 4, but you might get a different number), you can open up Terminal.

You can close anything, that is, a tool panel or an editor tab using Ctrl + F4.

Beautiful code

We looked at themes briefly in the The basics section, and frankly there isn't much else left to themes in PyCharm. Right now you have your choices limited to a couple of themes if you're using IntelliJ IDEA Platform 130.* and above. In older versions of IntelliJ, there used to be a lot more.

Editor

This is where you are going to be spending most of your time in PyCharm, so it makes sense to make it look as good as possible.

Getting the right colors

Getting the right colors

Each language has its own color scheme under Editor; if you can't find it, just look it up in the search bar, and underneath Editor, you should be able to find Python. Most of the options here are the same for all the IDEs built using the IntelliJ Platform, so this is nothing native to PyCharm.

Underneath Colors & Fonts, you should be able to see a whole bunch of choices. We have already changed the font, and the other options will become more relevant as we progress through this chapter, but first let's make a couple of changes to the scheme for Python.

Getting the right colors

The list in [1] is merely the different elements in a file that can be styled. The best way to go about changing the style is not using [1]; however, it's clicking on the elements in [2], which directly takes you to the element in question. Note that you cannot change the text in [2].

Tip

Whenever we change any of the default schemes, we need to save it as a new scheme all together, which we can later make changes to. PyCharm will prompt you for a new theme name.

So, in this example, if you want to know the category for a decorator in Python, all you have to do is click on the decorator in [2], and that will lead you to the corresponding name of the said element. An interesting option is [3], which we will touch upon soon.

Getting the right colors

As you can see, when we clicked on decorator, it auto-scrolled straight to Decorator in the list. However, it's not always obvious what something is called, so clicking on it again will help us identify what element it is:

Getting the right colors

PyCharm has two different styles for docstrings and string; in this case, what we clicked on was a docstring and not a normal string, which is a lighter blue color in this case.

Style hierarchies

PyCharm's style system can work on hierarchies; what this simply means is that a lot of the common elements in different languages are handled by central rules. This is useful since in this way, you have a common set of colors for all your languages.

For example, documentation comments are common in most languages, so PyCharm allows you to control how documentation looks in all the languages, so the colors stay consistent. Let's take a look at this:

Style hierarchies
Style hierarchies

Here it says that it does inherit from another set of styles; in this case, it is Language Defaults, which has been abbreviated by PyCharm, so let's head over there, and we can see that, yes indeed, there is a Doc comment element and its styled the same way docstring is.

Styling on steroids

Note that the editor isn't the only region that you can style; you can style just about anything. For example, if you wanted to change the colors for the in-built terminal, you'd have to change the console colors; both the terminal and console share a common style setting.

A common problem that I faced when I initially installed PyCharm was that, even though my terminal was actually styled, I did not get the styling when I opened up the Terminal in PyCharm, and this is because I did not set up my console colors correctly:

Styling on steroids
Styling on steroids

As you can see in the preceding screenshot, my ANSI colors have not been set right, and hence, all my output just comes out in blue and red; thus, I had to manually change the colors. Note that some elements can also inherit their color from within the same category.

Styling on steroids

So my terminal used to look similar to this:

Styling on steroids

However, after the change, I was able to make it look more like my real terminal, although you cannot replicate it exactly.

You can of course go ahead and choose the appropriate colors, but it's best to let the color picker (shown on the right-hand side in the following screenshot) do it for you:

Styling on steroids

Tip

If you hover over your chosen color for just a second using the color picker, PyCharm will show the color you've chosen in the color circle.

Here are a few pointers on where things are located:

  • General is for the different parts of the IDE that you see. For example, when you try to find something in your editor, and your editor highlights the search item in question, you determine that via Text search result in this tab. This is really handy when you want to change things such as the color of your line numbers, for example.
  • CSS, Python, HTML, CoffeeScript, and so on are all language-specific element stylings.
  • Language Defaults provides the styling for generic language elements, such as doc comments, variables, keywords, and so on.
  • Console Colors is for styling the terminal and console (when you run something, it opens up the Console window).
  • Console Font is the font used in the terminal and console.
  • Debugger is for debugger-specific styling (I would not change this if I were you; the defaults are pretty intuitive).

Imports and exports

The best way to import a theme is to simply import it as a setting file; these are typically .jar files. Remember, we mentioned that PyCharm is a derivative of the IntelliJ Platform? Well, you can use all the themes that are available to the Platform in PyCharm as well. One of the first places to look for themes is http://ideacolorthemes.org/themes/.

This gives you a good set of themes, and also shows you the languages that a theme will work with. So, we can just quickly download a theme; in this case, we will be downloading Solarized Dark (one of my all-time favorites).

Imports and exports

To download and install Solarized Dark, perform the following steps:

  1. Head over and just click on Download Theme:
    Imports and exports
  2. You should be then presented with a .jar file, which you can save:
    Imports and exports
  3. Click on Import Settings… to open up a dialog box for importing the JAR file:
    Imports and exports
  4. Just choose the file that you want and click on OK:
    Imports and exports
  5. Make sure that Editor Colors is selected and then simply press OK:
    Imports and exports

You should now be able to see a new option in your Scheme menu:

Imports and exports

That's all there is to it. You can export quite simply as well:

Imports and exports
Imports and exports

The Color schemes option must be selected, and at the end of it, you will get a settings.jar file that you can import into another PyCharm installation.

TextMate bundles

You can also import your TextMate bundles in PyCharm:

TextMate bundles

Summary

We covered a lot in this chapter. From fonts to styles to hierarchies, we saw a lot of what we could do with the styling system in PyCharm. We took a look at a minimalistic layout without compromising on what tools were quickly available to us, using Find Action and Search Everywhere. In the end, we showed how we can import themes and export them as well.

Left arrow icon Right arrow icon

Description

PyCharm is addictive, with powerful and configurable code completion, superb editing tools, top-notch support, diverse plugins, and a vibrant ecosystem to boot. Learning how PyCharm works and maximising the synergy of its powerful tools will help you to rapidly develop applications. From leveraging the power of the editor to understanding PyCharm's internals, this book will give you a comprehensive view of PyCharm and allow you to make your own choices about which workflow and tools are best for you. You will start by getting comfortable with PyCharm and making it look exactly like you want. You can customize the tools and taskbars to suit individual developers' coding styles. You also learn how to assign keyboard shortcuts. You will master debugging by inserting breakpoints, collecting runtime data, and debugging from the console. You will understand how PyCharm works underneath and how plugins such as Codemap, Vim, Bitbucket, Assets compressor, markdown, bash file, shortcut translator, and .gitignore leverage the power of the IntelliJ platform. You will become comfortable using the VCS interface in PyCharm and see the benefits of using it for some simple tasks as well as some more complex tasks such as partial commits using changelists. You will take an in-depth look at the various tools in PyCharm, improving your workflow drastically. Finally, you will deploy powerful PyCharm tools for Django, Flask, GAE, and Pyramid Development, becoming well acquainted with PyCharm’s toolset for web development with popular platforms. Packed with insider tricks, this book will help you boost productivity with PyCharm.

What you will learn

  • Understand the internal workings of the IntelliJ Platform
  • Leverage PyCharm's powerful search tools, and learn which ones are the best for you and your workflow
  • Customize PyCharm's enhanced Python interpreter and its inbuilt terminal
  • Develop web applications quickly and easily with different frameworks such as Flask and Django
  • Understand how code completion works in PyCharm for Python and JavaScript

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Oct 23, 2015
Length: 232 pages
Edition : 1st
Language : English
ISBN-13 : 9781783551316
Vendor :
JetBrains
Category :
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Oct 23, 2015
Length: 232 pages
Edition : 1st
Language : English
ISBN-13 : 9781783551316
Vendor :
JetBrains
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 103.97
Python GUI Programming Cookbook
€36.99
MASTERING PYCHARM
€29.99
Mastering Flask
€36.99
Total 103.97 Stars icon

Table of Contents

12 Chapters
1. Getting the Right Look Chevron down icon Chevron up icon
2. Understanding the Keymap Chevron down icon Chevron up icon
3. Getting Places Chevron down icon Chevron up icon
4. Editing Chevron down icon Chevron up icon
5. Interpreters and Consoles Chevron down icon Chevron up icon
6. Debugging Chevron down icon Chevron up icon
7. The PyCharm Ecosystem Chevron down icon Chevron up icon
8. File Templates and Snippets Chevron down icon Chevron up icon
9. Version Control Integration Chevron down icon Chevron up icon
10. HTML and JavaScript Tools Chevron down icon Chevron up icon
11. Web Development with PyCharm Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Half star icon Empty star icon Empty star icon 2.6
(17 Ratings)
5 star 23.5%
4 star 5.9%
3 star 5.9%
2 star 41.2%
1 star 23.5%
Filter icon Filter
Top Reviews

Filter reviews by




CBO Dec 15, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
As a developer I found this book to be very helpful. I have been a long time PyCharm user, but most of my day is spent tracking down feature requests and fixing bugs. Not so much learning how to be more productive using an IDE. However I found this book a great tutorial for speeding up common tasks like refactoring, debugging and live templates for code snippets. I didn't even know about some of these more advanced features that are hidden behind the most common tasks that you use everyday. Debugging options for attaching to running processes was also a very interesting topic.
Amazon Verified review Amazon
Gixxer Boy Dec 09, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
After using Pycharm for a number of years, I decided to buy this book to try and make better use of it. It covers a number of topics, some I don't really use, such as web development. Others, such as remote debugging, using virtualenv and Vagrant integration , integrated ipython console have become part of my standard toolset.While I could have trawled the web for all of this information, this book provided a structured way to improve the quality and consistently of the code I write, as well as spending more time on the interesting tasks.Well worth the money.
Amazon Verified review Amazon
Dr. John Nov 11, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Super book thank you
Amazon Verified review Amazon
parafly73 Nov 27, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I'm not a developer but I use Python to make my life easier in many aspects of my daily job since a few years. Very early on I decided to use PyCharm as my IDE of choice. I always wondered that some tasks were rather cumbersome and I was pretty sure that PyCharm offered better ways to accomplish certain things. I got by and never thought it was worth the time to work through my (minor) problems.However, this book comes straight to the point, and shows how to get the most out of PyCharm. It may be not be of great value for somebody that worked with PyCharm day in day out for a long time. For me it made my job quite a bit easier as I'm not using the software more efficiently. All the little issues of which I always suspected must have a simple solution, got addressed.
Amazon Verified review Amazon
just ask me Oct 29, 2018
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Hope this helps...
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.