Phpstorm убрать панель браузеров
Красивый! Приятно смотреть. Все элементы интерфейса выполнены гладко, есть ненавязчивые подсказки.
- Прозрачные полосы прокрутки (scroll bars). Не отнимают места от области редактирования. Умно!
Автозаполнение. Красиво выглядит и удобно работает, снабжено подсказками.
- Подставляются даже переменные в Sass! Не говоря уже о CSS-свойствах и их значениях.
- Подставляются классы из HTML (из числа классов в текущем файле)! Удобно, когда нужно сделать вложенный элемент по БЭМ (типа someclass-mod : при наборе someclass подставится, останется добавить только -mod )
- Подставляются сокращения из Emmet, причем перед подстановкой они отображаются в списке с пометкой "Emmet abbreviation" (при этом показывается результат подстановки), благодаря чему их можно тут же изучать, узнавая новые. Характерные примеры:
- m0 , m:0 -> margin: 0; , m:0:a -> margin: 0 auto;
- w10 -> width: 10px; , w100p -> width: 100%;
Мелкие, но приятные вещи при работе с текстом
- При вставке текста внутрь скобок табуляция автоматически выравнивается!
- При вводе Enter между фигурными скобками <> (обычно только что вставленными) автоматически добавляется отступ, а закрывающая скобка переносится на следующую строку.
- Можно двигать вверх-вниз строки и даже целые блоки кода - Ctrl+Shift+Up/Down . Если есть выделенный текст, то он будет двигаться целиком, если нет - то только строка, на которой находится курсор. При этом код автоматически выравнивается по отступам! То есть, если фрагмент после передвижения попадает во вложенный блок (который отодвинут отступами правее), он сразу же оказывается правильно выровнен!
Удобно работать с цветами в CSS/Sass:
- рядом с номерами строк, в которых задаются цвета, отображаются небольшие квадратики, покрашенные в эти цвета
- если по такому квадратику щелкнуть, откроется инструмент для выбора цвета (хроматический круг)
- самое неожиданно офигенное - если цвет задан в переменной Sass, то при его изменении с помощью инструмента будет исправлено значение переменной в том месте, где она задана!
Чудеса, да и только!
Быстрый поиск определения функций
- посмотреть определение класса/функции/метода и пр. - Ctrl+Shift+I
Определение появляется во всплывающем окне поверх основого текста в редакторе. Не нужно вручную искать и открывать файл. Работает не только в PHP, но даже для mixin'ов в Sass! Если нужно отредактировать - можно нажать соотв. кнопку на панели инструментов всплывающего окна или клавишу F4 . Откроется соотв. файл в отдельной вкладке. Того же можно достичь сразу, нажав Ctrl+Shift+B вместо Ctrl+Shift+I .
Ctrl+B - поиск определения сущности
Комбинацию Ctrl+B можно применять для:- функций: : если курсор находится в месте использования функции (внутри имени или прямо с краю от него), он будет перемещен в место её определения; если же он находится в месте определения - будет показан список случаев использования с возможностью перейти на любой из них
- переменных: если курсор находится в месте использования переменной, он будет перемещен в место её определения; если он находится в месте определения - будет показан список случаев использования с возможностью перейти на любой из них
- ссылок в PHPdoc ( @link ) - они будут открыты в браузере это полезно, например, при чтении встроенной документации
Что не понравилось
- Высокий порог входа. Нельзя просто запустить программу и открыть в ней какой-нибудь файл. Нужно сразу разбираться, что это за "проекты" и как их заводить.
- Неудобная точечная работа по SFTP.
- Открыть файл на удалённом сервере можно только из загруженного в среду проекта.
- Файл сохраняется не сразу напрямую на сервер, а куда-то локально. Загружать на сервер нужно принудительно ( Alt+Shift+Q ). Её можно использовать вместо Ctrl+S - так файл будет сразу сохранен и локально, и на сервер.
Горячие клавиши «из коробки»
- заменить - Ctrl+R (заменить всё - Alt+A ); заменить во всех файлах проекта - Ctrl+Shift+R (откроется диалог, где можно будет выбрать область замены)
- многострочный комментарий - Ctrl+Shift+/ (однострочный - Ctrl+/ )
- Ctrl+Shift+N - аналог обычного открытия файла, где его поиск осуществляется по фрагменту имени по всей глубине дерева проекта; по мере ввода имени подходящие варианты показываются вместе с полным путём; избавляет от необходимости отыскивать и вручную открывать все уровни дерева каталогов, этой возможностью, видимо, объясняется отсутствие для обычной команды Открыть
- показать/скрыть дерево каталога проекта (нужно для открытия файлов) - Alt+1 ;
когда панель дерева активна, с помощью Alt+Left/Right там можно переключаться между "вкладками" (**Project, Project Files, Tests и т.п.) вызвать другие опции работы с деревом - Alt+F1 - Alt+Home - путешествовать по "хлебным крошкам" пути, расположенного в верхней части окна под главным меню; клавиша Вниз откроет содержимое каталога; если начать ввод, содержимое отфильтруется, причем необязательно по начальным символам имён - например, если набрать оы , будут показаны только *.js -файлы
- удалить файл - Alt+Home и затем Delete ; файл будет удалён и в git , если находится под его контролем
- свернуть/развернуть участок кода - Ctrl+- / Ctrl++ ;
свернуть/развернуть рекурсивно - Ctrl+Alt+-/+ (свернуть, оставив видимым только первый уровень вложенности - Ctrl+Alt+-; Ctrl++ )
свернуть/развернуть весь файл целиком - Ctrl+Shift+-/+ - дублировать строку - как таковой горячей клавиши нет, нужно идти в меню Edit -> Duplicate Line - Alt+E D D Enter (не очень-то удобно :/); есть также команда Duplicate Line or Selection, но горячих клавиш для неё по умолчанию нет
- посмотреть на файл в дереве проекта - Alt+F1 Enter ; полезно, чтобы посмотреть на содержимое каталога, в котором находится файл (в обычном редакторе для этого использовался диалог открытия файла - как правило, Ctrl+O ), но не так удобно, т.к. перед глазами всё дерево (зачастую раскрытое), а не только текущий каталог. Можно повесить и на горячую клавишу (поиск по имени команды select in project view)
Можно использовать и для точечно открытого с удаленного сервера файла, только там откроется вкладка Remote Host (3) , а не Project view (1).
Какие настройки по умолчанию поменял под себя
удалить строку По умолчанию забито на Ctrl+Y (еще надо выбрать межд у этим и Redo ), меняем в ярлыках ( Ctrl+Alt+S или File | Settings | Keymap) по названию "Delete line".
перенос по словам - начало перенесённой части по уровню левого отступа текста, а не с самого начала строки.
Right click по Gutter (область с номерами строк) | Configure Soft Wraps | Use original line's indent for wrapped parts- Мягкий перенос повесил на Ctrl+Alt+W (было незанято)
Right click по Gutter (область с номерами строк) | Soft Wrap Current Editor
PHP: слэши в однострочном комментарии - рядом с кодом
File -> Settings -> Editor -> Code Style -> PHP -> Code Generation -> Line comment at first column, Add space .Поделить окно
- вызвать меню вкладки (щелкнуть правой кнопкой мыши по ярлычку вкладки или Window | Editor Tabs в главном меню)
- выбрать Split Right/Down
- для переключения между разделенными областями окна служат пункты Goto Next/Previous Splitter , их можно привязать к комбинации клавиш (например, Alt+PgUp/PgDown )
При работе со списком файлов ( Ctrl+E - недавно открытые файлы или Ctrl+Shirt+N - все файлы проекта) открыть файл в правой панели можно, нажав Shift+Enter вместо простого Enter - очень приятно
Посмотреть картинку
Навести мышь на адрес изображения в <img src="https://gist.github.com/1234ru/"> и зажать Shift . Через секунду появится всплывающее окошко с картинкой и полезной информацией о ней: размерах, глубине цвета, занимаемому на диске месту.
Поставив курсор на адрес изображения и нажав Ctri+Shift+I , можно посмотреть картинку во встроенном редакторе (там, в частности, можно отключить клетчатый фон, оставив его полностью прозрачным, а также получить цвет пикселей с помощью color picker'а).Быстрее всего создать проект из файлов на локальном компьютере можно, воспользовавшись подпунктом Source files are in a local directory, no web server is yet configured (идет в списке последним) из диалога Create project from existing files.
Привести JSON в удобочитаемый вид - выделить JSON-строку и нажать Ctrl+Alt+L (или Code -> Reformat Code)
Посмотреть описание элемента на основе PHPdoc: Ctrl+Q или просто навести мышь
Проверка регулярных выражений
Работает для языков, где регулярные выражения представляют собой отдельный тип данных (например, Javascript).
Не работает в PHP, т.к. там это просто строка.To verify that your regular expression is correct, place the caret within the expression you want to check, press Alt+Enter, and select Edit RegExp. In the popup, type a sample string that should match your regular expression. The icon shows that the match occurred. The icon shows that there is no match or your expression contains a mistake.
Live Templates (они же - Code snippets) - разворачиваемые сокращения при наборе кода
Setting | Editor | Live Templates | + (справа с краю)
Добавляем группу шаблонов - Template Group. , если хотим создать новую (ей нужно лишь дать имя).
Затем добавляем собственно шаблон - Live Template. Вводим само сокращение, описание и собственно код, который будет вставлен. В коде можно указать место, куда будет помещен курсор после вставки (например, между скобок). Это делается с помощью переменной $END :
Также выбираем ситуации, в которых сокращение будет работать (читай: типы файлов и их определённые места) - надпись Define рядом с текстом No applicable contexts. Например, в данном случае для файлов *.scss это будет declaration block и ruleset list (последнее отвечает за работу на самом верхнем уровне документа вне контекста деклараций правил для селекторов).
Live templates хорошо бы иметь per project (т.к. определённые шаблоны кода бывают актуальны только в конкретном проекте). Однако такую возможность пока не реализовали (см. issue IDEABKL-5033).
А вообще такие вещи бывают на уровне операционной системы (например, в Mac). Позволяют быстро составлять тексты на основе шаблонов (например, письма); это можно также привязать к горячим клавишам.
prettier - автоматическое форматирование кода
Позволяет писать код, не расставляя вручную пробелы, отступы и пр. Форматирование проводится по описанном в одном общем месте правилам.
Требует установки в проект (на сервер) и последующей настройки. См. также gist 1234ru/linux.md. Похоже, это не позволит разворачивать проекты на локальном компьютере под Windows, т.к. для Windows его нет.
В продуктах JetBrains реализован в качестве плагина собственного производства, который легко устанавливается ( File | Settings | Plugins ) и не требует дальнейшей конфигурации. Обработка кода запускается сочетанием Alt+Shift+Ctrl+P .
Автозаполнение сразу прожевало конфигурационный файл .prettierrc.json - уже подставляет имена настроек (типа useTabs )!
Если коротко: оказалось, что единственный плагин, в котором можно было загружать существующие gist'ы (а не только создавать новые), перестали поддерживать и он не работает.
Нижеследующую инструкцию оставлю здесь на будущее.
Получаем Github token
Не путать с SSH- и GPG-ключами! Их для работы с gist'ами не хватит. Нужен Github token или ключ персонального доступа.
- Идём на специальную страницу Settings / Developer Tools / Personal access tokens / Generate new token
- Тут отмечаем разделы, к которым будет предоставлен доступ. Обязательно нужно отметить gist и repo (иначе IDE не сможет соединяться)
- Сразу после генерации ключа сохраняем его куда-нибудь! Потом просмотреть его будет нельзя!
Далее в IDE открываем раздел Settings | Version Control | Gitub и добавляем аккаунт.
The Services tool window includes various services that help you during software development: run/debug configurations, database sessions, Docker connections, and so on. Plugin developers can add other services through the IntelliJ platform API.
Main toolbar
The main toolbar contains the following buttons and menus that are common for all service types:
Expand All Ctrl+NumPad +
Expand all items in the list.
Collapse All Ctrl+NumPad -
Collapse all items in the list.
Choose how you want to organize the list of services.
Choose how you want to filter the list of services.
Open in New Tab
Move the selected items to a separate tab.
Add Service Alt+Insert
Choose a service type to add.
Run/debug configurations
Run/debug configurations are not listed in the Services tool window by default. You need to explicitly specify the types of configurations you want to be available and create the corresponding configurations.
Add Run/Debug configurations to the Services window
Select View | Tool Windows | Services from the main menu or press Alt+8 .
In the Services tool window, click Add service , then select Run Configuration Type .
Select a run/debug configuration type from the list to add all configurations of this type to the window.
Note that the tool window will only display the configuration types for which you have created one or more configurations.
Buttons on the toolbar depend on the selected type of the run/debug configuration.
Run the selected configuration.
Debug the selected configuration.
Stop the selected configuration.
Database service
In the database service, you can manage your sessions and connections. Connection is a physical communication channel and session is a state of information exchange. For example, if you surf a social network, your connection log might have thousands of connection entries between a client and a server while a session log might show you only a single log entry with the number of bytes transferred.
For more information about managing database sessions, see Run database code.
Left toolbar
Tx Mode and Tx Isolation
Choose the isolation level for database transactions and the way transactions are committed.
Auto : each statement is executed in its own transaction that is implicitly committed.
Manual : transactions are committed and rolled back manually.
Commit the current transaction.
Roll back the last transaction.
Cancel Running Statements Ctrl+F2
Terminate the execution of the current statement.
Restore Default Layout Ctrl+F2
Restore default positions of visual elements in the Service view.
Jump to Console Ctrl+Shift+F10
Open the Consoles popup. In the Consoles popup, you can select a query console that you want to open in the editor .
(For data sources) Close a connection to the selected data source.
Cancel Running Statements Ctrl+F2
(For sessions and attached files) Close a connection to the selected data source.
Data sources
Jump to Console Ctrl+Shift+F10
Open the Consoles popup. In the Consoles popup, you can select a query console that you want to open in the editor .
Close a connection to the selected data source.
Close All Sessions
Close all opened sessions to a data source.
Show in New Tab
Move the selected items to a separate tab.
Open Each in New Tab
Split the selected items into separate tabs.
Open Each Tab in New Tab
Create separate tabs for each type of service.
Close all opened sessions to a data source. Identical to Close All Sessions .
Sessions
Tx Mode and Tx Isolation
Choose the isolation level for database transactions and the way transactions are committed.
Auto : each statement is executed in its own transaction that is implicitly committed.
Manual : transactions are committed and rolled back manually.
Commit the current transaction.
Roll back the last transaction.
Cancel Running Statements Ctrl+F2
Stop execution of running statements.
Restore Default Layout Ctrl+F2
Restore visual elements of are arranged.
Display the Rename dialog where you can specify a name for a session.
Close the selected session.
Show in New Tab
Move the selected items to a separate tab.
Open Each in New Tab
Split the selected items into separate tabs.
Open Each Tab in New Tab
Create separate tabs for each type of service.
Close all opened sessions to a data source. Identical to Close All Sessions .
SQL files
Tx Mode and Tx Isolation
Choose the isolation level for database transactions and the way transactions are committed.
Auto : each statement is executed in its own transaction that is implicitly committed.
Manual : transactions are committed and rolled back manually.
Commit the current transaction.
Roll back the last transaction.
Cancel Running Statements Ctrl+F2
Stop execution of running statements.
Restore Default Layout Ctrl+F2
Restore visual elements of are arranged.
Display the Sessions popup where you can select or create a new session and connect to it.
Detach the selected file from the current session. To attach the file to a session, open the file in the editor , and select the session in the sessions list.
Show in New Tab
Move the selected items to a separate tab.
Open Each in New Tab
Split the selected items into separate tabs.
Open Each Tab in New Tab
Create separate tabs for each type of service.
Close all opened sessions to a data source. Identical to Close All Sessions .
Jump to Source F4
Open the file in the editor .
Docker
This type of service is available if you have configured connection settings for at least one Docker instance. For more information, see Enable Docker support.
Add a Docker connection
Click and select Docker Connection .
Configure the docker connection settings in the New Docker Connection dialog.
Main Docker node
Connect to the Docker daemon and list all available images and containers.
Disconnect from the Docker daemon.
Edit the Docker connection settings.
Select an existing Docker run configuration or create a new one. For more information, see Running containers
Pull an image from a Docker registry. For more information, see Pull an image from a Docker registry.
Choose whether you want to show or hide containers that are not running and images with no tags.
Containers
Run the selected container.
Stop the selected container.
Delete the selected container.
Choose whether you want to show or hide containers that are not running and images with no tags.
Images
Pull an image from a Docker registry. For more information, see Pull an image from a Docker registry.
Create a Docker container from the selected image.
Remove the selected image.
Push an image to a Docker registry. For more information, see Push an image to a Docker registry.
Choose whether you want to show or hide containers that are not running and images with no tags.
Main Docker Compose node
Deploy your selected Docker Compose services using the associated run/debug configuration. For more information, see Docker Compose
Stop all containers in the selected Docker Compose services.
Stop and remove all containers in the selected Docker Compose services, including all related networks, volumes, and images.
Edit the selected Docker Compose run configuration.
Choose whether you want to show or hide containers that are not running and images with no tags.
Docker Compose services
Start all containers for the selected service.
Stop all containers for the selected service.
Change the number of containers for the selected service.
Delete the selected container.
Choose whether you want to show or hide containers that are not running and images with no tags.
Kubernetes
This type of service is available if:
The Kubernetes plugin is installed and enabled. For more information about the Kubernetes integration in PhpStorm, see Kubernetes.
PhpStorm detects a Kubernetes cluster configuration file. By default, this is a file named config in the $HOME/.kube directory. You can specify other kubeconfig files by setting the KUBECONFIG environment variable. For more information about kubeconfig files, see Organizing Cluster Access Using kubeconfig Files.
The Kubernetes node in the Services tool window lists the resources of the Kubernetes cluster in the selected context.
Refresh information from the Kubernetes cluster.
Select a namespace to filter the listed resources of the cluster.
Select the Kubernetes context displayed in the Services tool window. This does not change the context of the running Kubernetes cluster.
Read the Kubernetes cluster configuration from the kubeconfig file.
Open the Kubernetes cluster settings where you can change the path to the kubeconfig file.
You can select the Set this path only for the current project checkbox on the settings page to use different configuration files in different projects.
View the read-only configuration file of the selected resource from the cluster.
Remove the selected resource from the cluster.
Output the log of a container in the selected pod.
Save the log of a container in the selected pod to a scratch file and open it in the editor.
Instead of using a scratch file, you can set the path for saving logs or choose the location every time. To configure the download location for pod logs, click or open Settings/Preferences | Build, Execution, Deployment | Kubernetes .
Attach to the console of the process running inside a container of the selected pod.
Run an interactive shell for the container in the selected pod.
By default, PhpStorm runs /bin/bash . To run a different shell, click or open Settings/Preferences | Build, Execution, Deployment | Kubernetes and specify the shell that your pods use.
Productivity tips
The Services tool window can include a lot of services, which you can group according to their type or create separate tabs for your own custom grouping. For example, you can create a tab that will include the following: the run configuration for the application that you are developing, the Docker container that runs the database used as a backend for your application, and a console for accessing the database.
Hide the services tree
Click in the right part of the Services tool window toolbar and then click Show Services Tree to remove the checkbox. You can also press Ctrl+Shift+T to toggle the services tree.
If you hide the services tree, it is replaced by a services navigation bar. Press Alt+Home to focus the services navigation bar.
Hide, remove, and delete services
Right-click any service and select Delete Delete to completely remove the corresponding run configuration, Docker connection, and so on.
If you don't want to show run/debug configurations of a certain type in the Services tool window, right-click the corresponding configuration and select Remove Configuration Type from Services . This will not remove the actual configuration.
To hide a specific run configuration from the Services tool window, right-click the corresponding configuration and select Hide Configuration . To see all hidden run configurations, click and select Restore Hidden Configurations .
As you work with the IDE, you perform some actions more often than the others. To maximize your productivity, learn the default shortcuts for your favorite actions or assign shortcuts for them. You can also customize the menus and toolbars to only contain the actions that you need, regroup them, and configure their icons.
To quickly access your favorite files, directories, bookmarks, and breakpoints, use the Favorites tool window. For more information, see Favorites.
Customize menus and toolbars
In the Settings/Preferences dialog Ctrl+Alt+S , select Appearance & Behavior | Menus and Toolbars .
In the list of available menus and toolbars, expand the node you want to customize and select the desired item.
Click to add an action or a separator under the selected item.
Click to remove the selected item.
Click to add or change the icon for the selected action. You can use only PNG or SVG files as icons.
Click or to move the selected item up or down.
Click to restore the selected action or all actions to default settings.
Click OK to save your changes.
Show and hide UI elements
If you have a small monitor, you can hide some of the UI elements that you never use. These elements are described in Overview of the user interface.
From the main menu, select View | Appearance and enable or disable the necessary elements.
Toolbar : Located at the top of the window, this is the main toolbar with buttons for opening files, undo and redo actions.
Tool Window Bars : Located on the edges of the window, these bars contain buttons for showing, hiding, and arranging the tool windows. See Tool window bars and buttons.
Status Bar : Located at the bottom of the window, it shows event messages, indicates the overall project and IDE status, and provides quick access to some settings via widgets. See Status bar.
Status Bar Widgets : Located in the right part of the status bar. You can also right-click the status bar to show and hide widgets.
Navigation Bar : Located at the top of the window, where you can navigate the directories and files of your project with Alt+Home as an alternative to the Project tool window. See Navigation bar.
Members in Navigation Bar : Show the fields and methods in the navigation bar.
Main Menu : On Windows and Linux, hide the standard menu bar of the application window with File , Edit , View , and other menus. You can't hide it on macOS or on Linux if you are using the Linux native menu.
If you hide the main menu, you can still access it with the corresponding action: press Ctrl+Shift+A and search for main menu .
Details in Tree View : Show the last modification date and size of files in the Project tool window
Quick lists with your favorite actions
A quick list is a popup that contains a custom set of PhpStorm actions. Think of it as a custom menu or toolbar, for which you can assign a shortcut for quick access. You can create as many quick lists as necessary. Each action in a quick list is identified by a number from 0 through 9.
There are a number of predefined quick lists, but note that they are not configurable:
Refactor this Ctrl+Alt+Shift+T
VCS Operations Alt+`
For example, you can create a list of actions that do not have shortcuts assigned to them and refer to that list by one shortcut followed by the number associated with a specific action.
Create a quick list
In the Settings/Preferences dialog Ctrl+Alt+S , select Appearance & Behavior | Quick Lists .
Click or press Alt+Insert on the left pane to create a new quick list.
In the Display name field, specify the name of the quick list. Optionally, provide the quick list description.
On the right pane, add and arrange the actions on the quick list:
Click to add an action to the list.
Click to add a separator line.
Click to remove the selected action from the list.
Click or to move the selected item up or down.
Click OK to save the changes.
Assign a shortcut to a quick list
In the Settings/Preferences dialog Ctrl+Alt+S , select Keymap .
Expand the Quick Lists node and select your quick list. Add a keyboard shortcut and save the changes.
Click OK to save the changes.
In the editor, access the quick list by the associated shortcut.
If you don't remember the shortcut, you can search for your quick list by its name. Press Shift twice and type the name of the quick list.
Я пытаюсь удалить две вещи в PhpStorm, но я не могу удалить их. Вы знаете, возможно ли это?
У друга, который работает на Mac, нет этих баров. И я на Windows и ищу некоторое время для настройки, чтобы удалить их.
Посмотреть прикрепленную картинку.
Решение
Это строка меню, а не панель инструментов. В Mac OS X это не часть реального окна приложения, а часть самого рабочего стола.
Кажется, нет возможности скрыть это, просто отключив некоторые настройки. Я рекомендую попробовать один из этих режимов:
File | Settings | Editor |General | Appearance --> Show HTML breadcrums
- Да, эта опция также контролирует PHP-код
- Вам нужно закрыть и снова открыть файл, чтобы увидеть изменения
Другие решения
Если вы являетесь членом Laracasts , Там есть урок под названием «Будь потрясающим с PhpStorm». Из него я узнал много полезного, в том числе и то, как полностью удалить панели инструментов, хлебные крошки, строки состояния, чтобы ваша IDE была намного чище. Автор (Джеффри Уэй) также рассказывает о полезных ярлыках и плагинах, которые сделают вашу работу более продуктивной.
Кроме того, другие вещи, которые преподаются на этом уроке и которые я рад, что я сделал:
- Увеличьте размер шрифта (ваши глаза будут вам благодарны в долгосрочной перспективе)
- Удалить вкладки («Окно»> «Вкладки редактора»> «Размещение вкладок»> «Нет»)
- Использование полноэкранного режима + отвлекающий режим удивительно!
- ALT + 1 переключает боковую панель
- ALT + F12 открывает командную строку прямо в каталоге вашего проекта, чтобы вы могли начать набирать команды Artisan без промедления.
Я надеюсь, что эти советы помогут людям немного повысить производительность.
Читайте также: