Статический анализ кода на платформе Qodana, разработанной в JetBrains, помогает командам разработчиков соблюдать принятые стандарты качества и создавать безопасный код, который легко читать и поддерживать.
Статический анализ кода на платформе Qodana, разработанной в JetBrains, помогает командам разработчиков соблюдать принятые стандарты качества и создавать безопасный код, который легко читать и поддерживать.
Единая точка доступа к удаленным средам разработки
Функциональность Code With Me интегрирована в большинство IDE JetBrains. Сейчас мы работаем над поддержкой сервиса в JetBrains Rider. Кроме того, на JetBrains Marketplace можно скачать EAP-версию плагина для совместной работы в Android Studio.
Помните, как вы смотрели на экран своего коллеги и все время просили проскроллить вверх или вниз? Все это в прошлом!
Теперь можно вместе с коллегами удаленно работать над одним проектом, при этом у каждого будет свой монитор и клавиатура. Вы можете просматривать код, редактировать его и видеть все изменения, внесенные другими участниками, в реальном времени.
Подключившись к одной удаленной IDE, вы сможете эффективнее выполнять ревью, проверяя друг друга, обсуждая найденные проблемы и совместно их исправляя.
Code With Me позволяет наглядно объяснять материал, ведь ваши слушатели перемещаются по коду вместе с вами. Вы также можете подключаться к их собственным сеансам, чтобы давать обратную связь.
Code With Me позволяет разработчикам быстро помогать друг другу. Просто пригласите коллег в свой сеанс, обсудите возникшую проблему и найдите нужное решение.
Code With Me — новый сервис для совместной разработки и парного программирования. С помощью него вы сможете всей командой работать над проектами в реальном времени.
Запустите Code With Me
Настройте права доступа
Вы можете предоставить приглашенным пользователям любой набор прав для конкретного сеанса Code With Me — от доступа только для чтения до возможности редактировать любой код, — прежде чем нажмете Start.
Пригласите пользователей и приступайте к работе
Исследуйте проблемы и редактируйте код вместе с коллегами — все изменения будут отображаться в реальном времени.
Вы можете в один клик сделать так, чтобы все следили за вашей работой, или начать отслеживать действия любого из приглашенных.
Переходите к объявлениям любых объектов и находите их использования с помощью функций File Structure и Search Everywhere.
Выполняйте запуск и отладку кода во время сеанса так же, как в локальном проекте.
Вы можете пользоваться всеми возможностями IDE: автодополнением, навигацией и другими функциями анализа кода.
Поделитесь с участниками сеанса портами, чтобы дать им доступ к удаленным ресурсам и приложениям с их локальных машин.
Вы можете показать коллегам окно любого приложения на своем компьютере.
Во время сеанса совместного программирования можно общаться с коллегами в IDE.
Служба управления идентификацией и учетными записями в YouTrack и TeamCity
Эффективное управление любыми проектами для вашей компании
JetBrains dotCover — это инструмент для запуска юнит-тестов и оценки покрытия кода, интегрирующийся с Visual Studio и JetBrains Rider.
Отслеживайте процент покрытия вашего кода юнит-тестами. dotCover умеет вычислять покрытие кода на уровне операторов для приложений под платформы .NET Framework, .NET Core, Mono и Mono for Unity.
Запускайте юнит-тесты, делайте отладку, а также анализируйте степень покрытия с помощью Visual Studio или утилиты командной строки. dotCover поддерживает различные фреймворки юнит-тестирования, включая MSTest, NUnit, xUnit и MSpec.
При проведении сеансов ручного тестирования dotCover покажет вам, какие части кода были покрыты, а какие остались неохваченными. Используйте данные анализа покрытия для перехода к исходному коду тестируемого приложения.
Определяйте зоны потенциального риска в режиме Hot Spots: он укажет вам на самые сложные методы с наименьшим уровнем покрытия. Интуитивно понятное графическое представление данных поможет повысить эффективность анализа покрытия.
dotCover интегрируется с Visual Studio и JetBrains Rider, что дает возможность анализировать и визуализировать покрытие кода прямо в редакторе. Инструмент поддерживает Visual Studio 2010–2017 и JetBrains Rider версии 2018.2 и выше.
dotCover следит за изменениями в коде и автоматически перезапускает релевантные юнит-тесты.
Режим непрерывного тестирования можно включить для любого сеанса юнит-тестирования. Он позволит вам выбрать, какие тесты выполнять непрерывно, а какие — традиционными образом.
dotMemory позволяет анализировать использование памяти в различных приложениях .NET и .NET Core, таких как десктопные приложения, службы Windows, веб-приложения ASP.NET, IIS, IIS Express, произвольные процессы .NET и многое другое.
Используйте хронологический обзор, чтобы в реальном времени следить за потреблением памяти вашим приложением. Собирайте необходимую информацию о выделении памяти.
Одним кликом снимайте снэпшоты, не прерывая сеанс профилирования, добавляйте их в сравнение или изучайте трафик памяти за определенный период времени.
Благодаря множеству встроенных инспекций, большинство распространенных проблем с памятью определяется в один клик, без необходимости искать их вручную. Просто сделайте снэпшот и следуйте инструкциям по оптимизации использования памяти.
Для более глубокого анализа dotMemory предоставляет множество критериев, которые можно применить к данным использования памяти. Таким образом, вы можете смотреть на данные с тысяч разных ракурсов, выполнять детализацию, плоскостные и объемные срезы, а также вращение.
Проанализируйте трафик памяти за определенный промежуток времени, чтобы понять причину избыточных выделений памяти и сборок мусора. Определите, как выделялись и удалялись объекты и какие методы за этим стоят.
dotTrace помогает выявлять узкие места, снижающие производительность, в различных видах приложений .NET и .NET Core: WPF и Universal Windows Platform, ASP.NET, службы Windows, службы WCF и юнит-тесты. Также поддерживаются приложения Mono и Unity.
Просматривайте точные данные о времени выполнения вызовов, в том числе с привязкой к хронологии в режиме хронологического профилирования. При помощи данных хронологии анализируйте проблемы с производительностью, для понимания которых важен порядок событий: задержки в отрисовке интерфейса, избыточная сборка мусора, неравномерное распределение рабочей нагрузки, неэффективный файловый ввод-вывод и другие.
Узнайте, как отдельно взятый запрос влияет на производительность приложения и почему он медленно обрабатывается.
Если вы разрабатывайте веб-приложение, узнайте, как оно обрабатывает входящие HTTP-запросы.
Вы можете моментально получать подробные данные профилирования без необходимости собирать ваш solution, запускать профилировщик и исполнять сценарий использования. Просто добавьте статический метод рядом с кодом, который вы оптимизируете, и профилируйте его!
Если вы используете в своем проекте юнит-тестирование, dotTrace поможет вам выполнить профилирование любого теста всего за несколько кликов. Кроме того, dotTrace включает в себя специальный плагин для TeamCity, с помощью которого можно профилировать интеграционные тесты на сервере непрерывной интеграции, предотвращая регрессии производительности.
С помощью dotTrace можно профилировать и анализировать стеки вызовов, не покидая IDE. Инструмент уже интегрирован в Visual Studio и JetBrains Rider.
Можно даже переходить к месту объявления метода из хот-спота в дереве вызовов!
dotPeek — это бесплатный инструмент для декомпиляции и исследования сборок .NET, построенный на базе встроенного декомпилятора ReSharper. Он надежно декомпилирует любую сборку .NET в исходный код на C# или IL-код.
Декомпилятор поддерживает различные форматы файлов, включая библиотеки (.dll), исполняемые файлы (.exe) и файлы метаданных Windows (.winmd).
После декомпиляции сборку можно сохранить в проект Visual Studio (.csproj). Это позволит сэкономить время в случае, если потребуется восстановить исходный код из устаревшей сборки.
dotPeek умеет распознавать локальный исходный код на основе PDB-файлов, а также получать код с серверов исходного кода (Microsoft Reference Source Center, SymbolSource).
dotPeek также может выступать в качестве сервера символов и сообщать отладчику Visual Studio информацию, необходимую для отладки сборки.
dotPeek позаимствовал многие функции у ReSharper: контекстную и контекстно-независимую навигацию, поиск использований, различные способы просмотра иерархий и структуры кода.
Действие Find Usages поможет найти использования любого символа (метода, свойства, локальной переменной или другой сущности). Окно Find Results позволяет группировать результаты поиска, переходить от одного результата к другому и открывать их в области просмотра кода.
Поместите курсор на символ в области просмотра кода, и в раскрывающемся меню Navigate To появятся различные варианты контекстной навигации.
dotPeek индексирует все сборки в списке сборок, а также все сборки, на которые они ссылаются, и позволяет быстро переходить к коду. Например, действие Go to Everything позволяет найти нужную сборку, пространство имен, тип, член типа или недавно открытый файл.
ReSharper C++ делает программирование на C++ в Visual Studio намного быстрее и удобнее. Расширение предоставляет анализ кода на лету, быстрые исправления, широкие возможности поиска и навигации, интеллектуальное автодополнение кода, безопасные рефакторинги, различные способы генерации кода и другие функции, которые помогают работать продуктивнее.
ReSharper C++ приступает к анализу кода, как только вы открываете проект в редакторе Visual Studio, и продолжает анализировать файлы по мере редактирования, обнаруживая ошибки и возможные проблемы еще до начала компиляции.
Более 40 быстрых исправлений позволяют мгновенно исправить многие обнаруженные проблемы. Если слева от вашего кода появился значок лампочки, нажмите Alt+Enter, чтобы применить предложенное быстрое исправление.
Например, при обнаружении неинициализированной переменной, ее можно тут же инициализировать значением по умолчанию. Другие быстрые исправления позволяют добавить отсутствующие директивы #include
или удалить избыточные квалификаторы в конкретном выражении, в целом файле или даже по всему решению.
Еще одно преимущество быстрых исправлений заключается в том, что вы можете начать использовать классы, методы, переменные, свойства и поля, прежде чем они будут объявлены. ReSharper C++ обнаружит необъявленный символ и предложит создать соответствующее объявление символа из его использования.
Вы можете выбрать область (файл, проект или все решение) для которой ReSharper C++ отобразит все обнаруженные проблемы с кодом в специальном окне инструментов.
Команда Find Code Issues работает в фоновом режиме: вы можете продолжать редактирование и пользоваться навигацией, а ReSharper C++ будет анализировать код и выносить обнаруженные проблемы в окно Inspection Results.
В этом окне собранные результаты можно группировать по различным категориям и находить конкретные типы проблем. Отчеты с результатами поиска можно сохранять и загружать.
С помощью InspectCode, бесплатного инструмента командной строки, вы можете запускать инспекции ReSharper C++, даже не открывая Visual Studio.
Чтобы использовать InspectCode, загрузите и разархивируйте пакет инструментов командной строки и запустите файл InspectCode.exe, указав файл решения в качестве параметра. Подробнее об использовании InspectCode читайте в этой статье.
ReSharper C++ интегрирован с Clang-Tidy — мощным инструментом анализа кода, основанным на компиляторе Clang. Эта интеграция позволяет использовать проверки и быстрые исправления Clang-Tidy.
ReSharper C++ предлагает набор настроек стиля синтаксиса. Пропишите их, и ReSharper будет придерживаться выбранного вами стиля во всей кодовой базе.
Вы можете откорректировать стиль синтаксиса на странице Code Editing | C++ | Syntax Style. Выбранные значения будут использованы как при генерации кода, так и при проверках стиля кода.
ReSharper C++ подсветит любые отклонения от стиля, а чтобы поправить их, предложит вам быстрые исправления. Быстрые исправления стиля синтаксиса можно применить в определенной области видимости, в том числе в локальной (например, в теле функции или в определении класса).
Чтобы применить выбранный стиль синтаксиса, вы можете использовать очистку кода (Code Cleanup) либо специальное действие Apply Syntax Style, которое исправит проблемы на выделенном участке, в файле либо в наборе файлов — в зависимости от контекста.
ReSharper C++ позволяет использовать несколько привычных рефакторингов, таких как Rename, Extract Method и Change Signature. Кроме того, вам доступны десятки контекстных действий — локальных преобразований кода, вызываемых простым сочетанием клавиш.
Переименование класса или макроса может вызвать проблемы, если выполняется вручную. Поэтому при вызове рефакторинга Rename, ReSharper C++ производит все необходимые проверки.
ReSharper С++ производит все изменения автоматически либо отображает список конфликтов, которые можно разрешить вручную, чтобы вы могли с уверенностью внести только необходимые изменения.
Помимо непосредственного переименования символов, к которым применятся рефакторинг Rename, ReSharper C++ обновляет связанные файлы (как исходные, так и заголовочные) и соответствующий текст в комментариях и документации, а также использование символа в директивах #include
.
Рефакторинг Extract Method помогает создать новый метод на основе выбранного фрагмента кода. ReSharper анализирует выделенный блок кода и находит переменные, которые могут быть преобразованы в параметры метода или представить его возвращаемое значение.
Рефакторинг Change Signature позволяет применить одно или несколько изменений к сигнатуре функции. При этом все использования, реализации и переопределения функции будут обновлены соответствующим образом.
Рефакторинг Introduce Variable позволяет создать новую локальную переменную на основе выбранного выражения, инициализировать ее выражением и, наконец, заменить все вхождения выражения в коде ссылками на введенную переменную.
И наоборот, рефакторинг Inline Variable заменяет все вхождения данной переменной или локальной константы на ее инициализатор.
Рефакторинг Introduce Field помогает создать новое поле на основе выбранного выражения, назначить исходное выражение полю в его собственном инициализаторе или в конструкторе и заменить вхождения.
Рефакторинг Introduce Namespace Alias помогает задавать сокращенные имена для пространств имен с глубокой вложенностью.
При вызове рефакторинга, ReSharper предлагает определить область, для которой вы хотите ввести псевдоним.
Рефакторинг Introduce typedef позволяет быстро создать typedef
для выбранного типа данных и заменить этот тип данных и все его вхождения только что созданным определением типа.
Рефакторинг Inline typedef делает обратное: заменяет существующий typedef
фактическим типом данных.
Помимо рефакторингов в ReSharper C++ предусмотрены контекстные действия — локальные преобразования кода, которые помогают переключаться между альтернативными вариантами синтаксиса. Как и быстрые исправления, они вызываются нажатием Alt+Enter.
Например, вы можете быстро заменить auto
на явный тип или заменить тип на auto
. Другие контекстные действия помогают объединять вложенные операторы if
, генерировать пропущенные операторы case
для оператора switch
при перечислении, подставлять вызов макроса или <0>typedef и т.д.
ReSharper C++ расширяет возможности Visual Studio для подсветки синтаксиса и выделения структурных фрагментов кода, реализует собственное автодополнение и помогает визуализировать доступную документацию для любого символа C++.
ReSharper C++ распознает файлы *.c, *.cc, *.cxx, *.cpp, *.h и *.hpp и подсвечивает исходный код в этих файлах в соответствии с цветовой схемой, которую в любой момент можно изменить.
Кроме того, ReSharper C++ подсвечивает парные элементы, когда курсор помещен на один из них: парные разделители, макросы или спецификатор формата и соответствующий аргумент в вызове функции printf
.
Когда вы помещаете курсор в одну из точек выхода из функции, цикла или оператора switch
(return
, throw
, break
и т. д.), ReSharper C++ сразу подсвечивает все другие выходы из цикла или функции.
При написании кода в файлах C++ вы можете использовать автодополнение, которое предоставляет не только варианты для подстановки, но и варианты генерации кода.
Автодополнение умеет предлагать даже те символы, которые еще не включены в текущий файл. При выборе такого символа из списка вариантов автодополнения, соответствующая директива #include
будет добавлена автоматически.
Во всплывающем окне Quick Documentation отображается документация на основе документирующих блоков Doxygen, так что вам не нужно переходить к определению символа: просто нажмите Ctrl+Shift+F1, если используете стандартную схему клавиатуры.
Если документация Doxygen отсутствует для определенного символа, Quick Documentation покажет его сигнатуру.
ReSharper C++ показывает полезные подсказки для элементов кода C++ с подсветкой синтаксиса. В них отображаются функции и типы переменных, а также документация.
XML-комментарии в стиле C# иногда используются для символов C++. ReSharper C++ корректно отображает их в окне Quick Documentation и во всплывающих подсказках.
C++/CLI — это набор расширений для языка C++, разработанных Microsoft для облегчения взаимодействия между управляемым и нативным кодом. Благодаря обширной поддержке как управляемых языков, так и C++, ReSharper не может не предложить помощь в написании кода и на C++/CLI.
В C++/CLI-коде доступны те же рефакторинги и intention-действия, что и в коде на чистом C++. Работает навигация между мирами C# и C++/CLI.
ReSharper C++ значительно упрощает навигацию по исходному коду. Чтобы найти нужное объявление, член, вызов метода или элемент иерархии наследования, достаточно нажать пару клавиш.
For all symbols that have separate declarations and definitions, ReSharper C++ displays the Navigate to declaration/definition icon on the left (). Нажмите на значок или используйте сочетание клавиш Ctrl+B, чтобы быстро переключаться между объявлением и определением.
Контекстная навигация также позволяет переходить от выбранного символа к его использованию, базовому или производному символу.
ReSharper C ++ предлагает набор контекстно-независимых команд навигации, включая Go to File (переход к файлу), Go to Symbol (переход к символу), Go to File Member (переход к члену файла) и Go to Everything (переход к чему угодно).
Все эти команды поддерживают поиск с использованием lowerCamelCase и фильтрацию по пути. Например, ввод fc movie
во всплывающем окне Go to Everything возвращает список файлов и членов файла, которые содержат строку movie в имени и принадлежат либо проекту FollowerC, либо пространству имен FollowerConstants (они оба соответствуют поисковому запросу fc
).
ReSharper C++ предоставляет возможность просмотра иерархии наследования, к которой относится любой тип в вашем коде. Вы можете перейти к любому базовому или производному типу одним кликом.
Кроме того, в ReSharper C++ есть специальное иерархическое представление для визуализации зависимостей заголовочных файлов, подключенных через директиву #include
.
Действие Find Usages поможет найти все использования определенного символа в вашем решении.
По завершении поиска найденные вхождения отображаются в отдельном окне, в котором их можно группировать и сортировать, а также использовать панель предварительного просмотра.
ReSharper C++ позволяет просматривать структуру текущего документа в окне File Structure — это значительно упрощает навигацию по большим файлам.
При переключении на другую вкладку редактора в окне отображается структура соответствующего файла.
В окне To-do Explorer можно просматривать, группировать и фильтровать комментарии, которые содержат один из трех шаблонов To-do (Bug, Todo и Not Implemented) или любые пользовательские шаблоны, которые вы можете создать самостоятельно.
Если вы используете лицензию ReSharper Ultimate и ваше решение написано на нескольких языках, в окне To-do Explorer будут собраны объекты To-do из кода на всех поддерживаемых языках: C#, VB.NET, C++, JavaScript, XAML, HTML и т. д.
ReSharper C++ предоставляет разные способы автоматической генерации стереотипного кода. Помимо объявления и определения символов на основе их использования, ReSharper C++ умеет создавать члены типов, окружающие блоки кода и любые фрагменты кода, которые регулярно используются в кодовой базе.
ReSharper C++ позволяет быстро переопределить член базового класса или добавить отсутствующий член, оператор равенства или сравнения, создать определение на основе существующего объявления, конструктор, функцию hash или swap.
Для вызова меню генерации и просмотра доступных вариантов просто нажмите Alt+Ins.
В ReSharper C++ предусмотрено 29 настраиваемых шаблонов кода. Некоторые представляют собой обычные сниппеты, а другие используются для окружения выделенных фрагментов кода.
Вы также можете использовать и создавать шаблоны файлов. Нажмите Ctrl+Alt+Ins, чтобы быстро добавить класс в проект, над которым вы работаете.
Инструмент форматирования ReSharper C++ обучается на основе существующего кода, и вы можете поделиться настройками оформления кода со своей командой.
ReSharper C++ позволяет настраивать правила форматирования кода отдельно для конкретного решения.
Вам не придется копаться во всех доступных параметрах, если нужно изменить форматирование определенного фрагмента кода: выделив блок, вы сможете поменять только те настройки, которые применимы к этому блоку.
Для соблюдения единого стиля кода всеми разработчиками в команде вы можете сохранить настройки форматирования и именования в отдельном файле и поделиться им со своими коллегами.
ReSharper C++ позволяет вам выбирать и другие особенности стиля кода, которые предпочитает ваша команда, такие как порядок модификаторов и значение инициализаторов указателей. Например, вы можете указать 0
, nullptr
или NULL
в качестве предпочтительного инициализатора, и ReSharper C++ будет учитывать ваш выбор при генерации инициализаторов.
В меню ReSharper Options | Code Editing | C++ | Naming Style вы можете выбрать одну из стандартных схем именования C++: STL, Google, LLVM, CamelCase или Microsoft.
Порой гораздо проще настроить параметры форматирования, просто определив их по существующему коду. Выберите в меню ReSharper | Edit | Detect formatting settings, и ReSharper обнаружит настройки форматирования, используемые в вашем коде. Вы сможете просмотреть обнаруженные значения в специальном окне и применить их к настройкам ReSharper на вашем компьютере. Их также можно сохранить на уровне настроек совместного использования, чтобы у ваших коллег была такая же конфигурация форматирования при открытии текущего решения.
Интегрированный в Visual Studio инструмент запуска тестов поддерживает фреймворки Google Test, Boost.Test, Catch и Doctest.
Инструмент запуска юнит-тестов
ReSharper C++ включает в себя инструмент запуска юнит-тестов в Visual Studio, который поддерживает фреймворки Google Test, Boost.Test, Catch и Doctest.
Вы можете запускать и отлаживать юнит-тесты, а также добавлять тесты в сессии прямо из текстового редактора через контекстное меню, вызываемое нажатием Alt+Enter.
В окнах Unit Test Explorer и Unit Test Sessions можно просматривать, группировать, фильтровать и запускать юнит-тесты, а также создавать сессии тестирования и управлять ими.
Если вы разрабатываете игры на платформе Unreal Engine, воспользуйтесь специальной поддержкой Unreal Engine в ReSharper C++.
ReSharper C++ учитывает соглашение об именах UE во всех командах, в том числе в рефакторингах переименования и введения переменной, при генерации кода геттеров и сеттеров и во многих других действиях. ReSharper C++ следит за правильностью использования имен по всей кодовой базе. Любые несоответствия правилам именования UE подсвечиваются в редакторе благодаря специальным инспекциям Inconsistent UE naming.
Для кода на основе UE доступно несколько проверок в анализаторе кода, в частности для обнаружения отсутствующих или неправильно установленных макросов рефлексии UE:
ReSharper C++ обеспечивает бесшовную интеграцию с UnrealHeaderTool, благодаря чему все больше проблем с метаданными классов Unreal Engine можно выявлять непосредственно в редакторе. Когда вы работаете с проектом Unreal Engine, ReSharper C++ автоматически запустит UnrealHeaderTool для файла, который вы редактируете, и отобразит ошибки и предупреждения, как и любые другие инспекции. Посмотрите на интеграцию UnrealHeaderTool в действии.
Для упрощения работы с макросами рефлексии из Unreal Engine ReSharper C++ предоставляет автодополнение для спецификаторов рефлексии внутри макросов.
Во всплывающем окне быстрой документации (Ctrl+Q) отображается встроенная документация для спецификаторов рефлексии UE, когда курсор наведен на спецификатор.
ReSharper C++ идентифицирует удаленные вызовы процедур по ключевым словам Client
, Server
или NetMulticast
в операторе объявления UFUNCTION
. ReSharper C++ знает, что для таких функций должна быть сгенерирована функция _Implementation
, а также функция _Validate
, если установлен спецификатор WithValidation
. Если отсутствует только одна функция, будет сгенерирована нужная, а если отсутствуют обе — то две.
При переходе к определению ReSharper C++ предложит обе функции (_Validate
и _Implementation
). Также можно воспользоваться меню, вызываемом Alt+Enter, и выбрать в нем пункт «Related UE functions».
Если вы используете символ, который недоступен в текущей области, ReSharper C++ выделит его красным и предложит по возможности добавить отсутствующую директиву #include
. Если директива #include
отсутствует в заголовочном файле, она будет автоматически добавлена перед файлом .generated.h
, который должен быть последним в списке включений. В результате специальной инспекции ReSharper C++ подсветит неправильно расположенную директиву #include
.
Теперь при использовании рефакторинга Rename в проектах Unreal Engine к соответствующей директиве include *.generated.h
и связанным файлам добавляются префиксы A
, F
, E
, T
, S
и U
.
Постфиксный шаблон new учитывает специфику создания объектов в UE4. Кроме того, предусмотрены шаблоны для генерации USTRUCT/UCLASS/UENUM/UENUMCLASS
.
USF-файлы в Unreal Engine основаны на HLSL и содержат кросс-платформенный код шейдера. Такие файлы обычно содержат виртуальных пути, и ReSharper C++ позволяет работать с ними и поддерживает все стандартные действия.
SpatialOS Game Development Kit — это форк Unreal Engine 4, который помогает запускать онлайн-игры и управлять ими в облаке. ReSharper C++ распознает CrossServer, SpatialType, NonSpatialType и другие спецификаторы SpatialOS. Подробнее
В ReSharper C++ есть начальная поддержка HLSL, высокоуровневого языка для программирования шейдеров. ReSharper C++ подсвечивает HLSL-код в соответствии с выбранной цветовой схемой и показывает подсказки с документацией и информацией о типах. Работает поиск и навигация по структурам, функциям и параметрам в решении, ссылочных файлах и стандартных библиотеках. Кроме того, для HLSL доступно умное дополнение, автоматическая подстановка парных разделителей и другие функции.
При работе с файлами шейдеров HLSL доступна полная функциональность ReSharper по анализу потока управления, в том числе предупреждения о недостижимом коде, неинициализированных переменных, избыточных ветках условных операторов, избыточных переходах потока управления, а также многое другое.
GoLand делает разработку проще и эффективней
Обнаружение ошибок на лету с возможностью их автоматического исправления, безопасные рефакторинги, умное автодополнение и встроенная документация помогают создавать надежный код быстрее.
Мгновенный переход к любому элементу в коде
Чтобы разобраться в большом незнакомом проекте, требуются время и усилия. В GoLand можно мгновенно переходить к переопределенным методам, имплементациям, объявлениям или интерфейсам, которые реализуют типы. Нажмите всего несколько клавиш, чтобы найти любой файл, метод, переменную или перейти к местам их использования в проекте.
Отладка и запуск прямо в IDE
Запускайте и отлаживайте приложения прямо в IDE без установки плагинов и дополнительной настройки. Встроенный отладчик и инструменты для запуска тестов сразу готовы к работе. Встроенный инструмент для анализа покрытия кода поможет проконтролировать, что весь важный код покрыт тестами.
Встроенная поддержка Git, GitHub и Mercurial
GoLand предоставляет встроенную поддержку Git, GitHub и Mercurial. Поддержка Perforce, ClearCase и других VCS доступна через плагины.
Широкий набор инструментов
GoLand не был бы полноценной IDE, если бы не поставлялся с широким набором инструментов, которые, помимо разработки непосредственно на Go, поддерживают JavaScript, TypeScript, NodeJS, SQL, базы данных, Docker, Kubernetes и Terraform. В совокупности все эти возможности делают его первоклассным инструментом для работы над любой задачей, будь то современное веб-приложение или инструменты DevOps.
Настраивайте функциональность и адаптируйте IDE к своим задачам
Богатая экосистема GoLand включает более 1000 плагинов, с помощью которых можно адаптировать IDE к вашим потребностям. Настраивайте, расширяйте и изменяйте IDE так, как вам удобно: вы можете добавить поддержку проектов Angular и Vue.js, поставить строку состояния с кошкой Nyan Cat и установить новую тему оформления IDE.
Пишите и запускайте запросы в разных режимах: обычном или «только для чтения». Консоль хранит историю запросов, клавиатурного ввода и сохраняется автоматически.
Находите любые объекты, набирая имя в окне поиска. Переходите из SQL-скрипта к исходному коду объекта или к данным.
Выбирайте удобный вам вид планировщика: древовидный или графический. Анализируйте эффективность своих запросов.
Автодополнение понимает контекст: предлагает ключевые слова или объекты в зависимости от того, что подходит в конкретном месте кода. Оно учитывает внешние ключи, структуру объектов и даже объекты, созданные в этом же скрипте.
DataGrip обнаруживает возможные ошибки в коде и предлагает наиболее подходящие варианты исправлений на лету. Например, если в таблице нет столбца, который вы используете, или вы запускаете запрос, который удаляет из таблицы все данные.
DataGrip понимает, какие объекты задействованы в скрипте. Когда вы переименовываете псевдоним или переменную, они будут переименованы во всех местах, где используются. По вашему желанию имена объектов изменятся и в самой базе, если вы переименуете их в запросе. Перед этим вы увидите, в каких процедурах или функциях они используются. В этом случае исходный код этих процедур тоже изменится.
DataGrip поддерживает работу с Git, SVN, Mercurial и другими системами контроля версий.
Удобный просмотр, навигация, сортировка и фильтрация данных. Чтобы создать графики и посмотреть ключевые результаты анализа, в том числе описательные статистики и отсутствующие значения, вам не потребуется писать ни одной строчки кода. Используйте возможности AI Assistant, чтобы сделать анализ данных еще эффективнее. Работайте с таблицами в Jupyter-ноутбуках, используя ячейки Python или SQL, в консоли Python или в отдельном окне.
Интерфейс DataSpell легко адаптировать к вашим индивидуальным потребностям и предпочтениям.
С помощью AI Assistant проще извлечь из данных важную информацию. Нажмите на иконку AI Assistant в заголовке таблицы, чтобы мгновенно получить результаты анализа датафрейма.
Задайте AI Assistant любой вопрос или обсудите с ним свои задачи. Он поможет разобраться со сложной проблемой: объяснит те или иные фрагменты кода или элементы, приведет примеры использования, подскажет, где найти полезную информацию.
Если вам нужно исследовать проблему, AI Assistant поможет определить и объяснить ошибки, предложит вариант исправления именно для вашего кода или способ изменить код. Благодаря этому вы можете сосредоточиться на разработке новых решений, а не на исправлении ошибок.
WebStorm - IDE для JavaScript и TypeScript
Узнайте о ключевых возможностях IntelliJ IDEA — ведущей IDE для разработки на Java и Kotlin.
Корзина пуста