Оглавление
Ошибки при использовании поиска - что они значат.
Определение частоты системной шины.
Сохранить восстановить сочетания клавиш.
Возможные проблемы. Как их избежать.
При включении FATFS не достает связей.
Добавить/Убрать отступ табуляции
Tab/Shift+Tab
Удаление строки
Ctrl+D
Переименование объектов: типов, переменных, функций,..
Alt+Shift+R
Переименование выделенного идентификатора во всем проекте, отображение конфликтов и "затенений" имен.
Текст перевести в верхний / нижний регистр
Ctrl + Shift + X
в нижний Ctrl + Shift + Y
Автоформатирование кода. Не работает как заявлено, но в обычном eclipse использовать эту функцию получилось
Ctrl+Shift+F
настройка формата для проекта? Windows – Preference – C/C++ - Code Style – Formatter
привычная кодировка это BSD/Allman [built-in] или GNU [built-in
Автоформатирование кода. Как работает.
На проекте Properties
C/C++ Generall – Formatter
Выбрать нужный формат.
Ctrl+Shift+F на области подлежащей формату.
Поиск файла проекта.
Отличная штука. Ищет файл в проекте по части названия и открывает в одном из трех вариантов:
• в одном из анализеров;
• в одном из типов редакторов;
• самый обычный способ — просто открыть.
$Quickly Find and Open a File
Сворачивание разворачивание блоков кода.
Для включения возможности складывания блоков #if #endif
$Branch Folding
Одновременное редактирование нескольких строк.
Незаменимое и продвинутое средство, аналог Alt + левая мышь в редакторе типа опен-офис. Очень нравится.
$Block selection mode
Снять выделение наложеное при поиске можно удалив узел поиска в окне Search
Закрывающая / открывающая скобка — быстрый переход
Курсор должен находиться после интересующей скобки
Сочетание (Ctrl+Shift+P)
Открытие «местного» мини-редактора, в котором отображается определение объектов
Наведение курсора мыши на функцию и нажатие кнопки F2 .
Инкрементальный поиск — поиск без открытия окна поиска.
Сочетание (Ctrl+J)
Поиск без открытия окна поиска в том файлике который открыт. Может быть полезен если нужно быстро найти то что находится на текущей странице.
Например можно применять, чтобы попробовать зацепится за какой нибудь объект или нащупать какие названия в этом диапазоне есть, простым перебором.
Переход к строке с номером
(Ctrl+L)
Переход к последнему месту редактирования
(Ctrl+L)
Часто на проблемы в связях файлов проекта между собой указывают подобные ошибки.а
Всплывает окно Multiple problems have occurred. В нем указаны причины сбоев. Обычно это невозможность найти файлы.
Для примера.
File 'CUBE/FatFs/ff.c' has been skipped, problem while reading: ('File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\ff.c.').
File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\ff.c.
Наверно списки файлов в которых нужно искать живут в .project, как минимум один раз там была проблема.
Вар. 1. Вручную вычистить метаданные.
Чтобы отыскать где упоминается файл попробуем понять что не так в сконструированном пути.
Производим в папке проекта поиск по названию файла.
Проверяем пути на явную чушь.
Самые подозрительные удаляем (предварительно сохранить состояние в svn), запускаем тот же поиск и смотрим исчезла ли строчка из причин сбоев при поиске.
Если строчка исчезла зачищяем всю конструкцию.
Возможно проект перестанет собираться. В этом случае добавляем связей стандартными средствами
Для понимания можно посмотреть историю файла (.project) в svn и отловить кто виноват
Х Вар. 2. Исправить связи в Atollic TS
Открыть вкладку Свойства проекта
Resource – Linked Resources – вкладка Linked Resources
Если есть поле Invalid Location с красным крестиком, исправить пути которые есть в этом узле.
Х Вар. 3. Удалить связи связи в Atollic TS
Тоже что и вар. 2 но простым удалением.
На заметку:
PARENT-1-PROJECT_LOC - обозначает на один уровень выше PROJECT_LOC
PARENT-2-PROJECT_LOC - обозначает на два уровня выше PROJECT_LOC
Тут приведена информация которую удобно сгруппировать в отдельные главы не привязанные к стандартной структуре user guide.
В Expressions добавляем переменную SystemCoreClock.
Запускаем программу.
Запускаем еще раз чтобы уйти с автоматической точки останова.
Останавливаем через секунду.
В итоге получаем величину отображаемую на вкладке Clock Configuration находится в поле HCLK. Не путать с SYSCLK.
Window - Prefences – General - Keys.
Посмотреть, задать все горячие клавиши
Ctrl + Shift + L
$Find all Keyboard Shortcuts
Сбросить к умолчанию одну грячую клавишу — Restore Command
Открепить сочетание горячих клавиш от команды - Unbind Command
В окне Conflicts можно переместиться к другой конфликтующей команде и отвязать от неё закрепленное сочетание.
Поиск команды по названию удобен. Найдя команду можно выделить ее и очистить окно поиска. Вернется весь список но фокус останется на команде
Если не запускается.
Посмотреть сходную команду, как там назначены ГК. Какие атрибуты стоят Category, When и прочие
Некоторые ГК не отображаются в конфликтах, хотя и активны. Убедится что такого нет, можно очистив ГК и попробовав это сочетание. Произойдет ли что то..
При однократном нажатии Ctrl + Shift + L посмотреть окно назначенных, возможно только отображаемые тут клавиши будут срабатывать.
Для сорханения
правой клавишей на проект — Export - General – Preferences - Next
в окне Export Preferences выставить галку Keqs Preferences
выбрать путь и название для файла конфигурации и нажать Finish
Для восстановления
правой клавишей на проект — Import - General – Preferences – Next
выбрать файл и поставить галку Keqs Preferences
Инкрементальный поиск |
Ctrl+J |
|
Найти все ссылки References – Workspace |
Ctrl + Shift + G |
|
Поиск далее |
Ctrla + K |
|
Возврат в предыдущее место |
Alt + ← |
|
Вернуть масштаб текста по умолчанию |
|
Windows – Preference — General – Apperanse – Color and fonts – Restore default |
Увеличить масштаб |
Ctrl + - |
|
Уменьшить масштаб |
Ctrl + Shift + + |
|
стек вызовов для конкретной функции |
Ctrl + Alt + H |
Call hierarhy |
удаление строки |
Ctrl + D |
|
Закрыть все вкладки |
Ctrl + Shift + F4 |
|
Build Project |
Ctrl+B, Ctrl+P |
|
Expand All |
Не работает Ctrl + Shift + Numpad_Multiply Ctrl + Numpad_Multiply
Внезапно работает Alt + * |
|
Collaps All |
Alt + - |
|
Поиск закрывающей/открывающей скобки |
Ctrl+Shift+P |
Курсор должен находиться после интересующей скобки |
Скомпилировать выбранные(й) файл |
Ctrl + Alt + B |
Открепил от Skip all breakpoints |
Close Project |
Ctrl + Alt + C |
Открепил от commit cvs |
Suspend |
F9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Неудачные сочетания.
Ctrl+C, Ctrl+P начинает неверно работать копирование в буфер
Если обобщить все клавиши с Ctrl+X уже назначены в системе..
можно быстро открыть файл заголовка, да и любой файл рабочей области (Ctrl + Shift + R)
неактивные #if .. #endif области выделяются цветом. работает без компиляции
неактивные процедуры выделяются нежирным шрифтом
При импорте происходит копирование выбранных файлов в папку проекта
когда перестает работать наполнение окон анализеров и переходы по Ctrl + Shift + G, просто открой любой файл в проводнике проектов. То что вкладки с файлами исходников открыты не значит что проект выбран и активен.
Выделите текст, который Вы хотите переформатировать. Нажмите Ctrl+Shirt+F.
Сворачивание блоков в редакторе настраивается в Windows – Preference – CC++ - Editor - Folding
Atollic рекомендует, чтобы папка Active Workspace находилась не слишком много уровней ниже корня файловой системы. Это сделано для того, чтобы избежать превышения символьных ограничений длины пути Windows®. Это может вызвать ошибки сборки, если пути к файлам станут длиннее, чем может обработать Windows.
Снизить нагрузку на процессор можно отключив предпочтения
Window, Preferences and in the Preference Dialog select General,Startup and Shutdown
1
Недостает связей.
Начинается с ошибки
fatal error: fatfs.h: No such file or directory main.c /ИмяФайла4ME/Core/Src
подкрашивает #include "fatfs.h" которую сам же и добавил
После того как их указываешь в проекте в директориях, начинается это
2
Задвоеная декларация.
Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.o:(.data.SystemCoreClock+0x0): multiple definition of `SystemCoreClock'
Core\Src\system_stm32l4xx.o:(.data.SystemCoreClock+0x0): first defined here
Кстати на вкладке Problems не будет сообщений об этом и никаких красных сообщений тоже.
В ранней ревизии была создана папка с файлом ..CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4
15 (6d2635d813f6) CUBE. включил SDMMC1
16 (6a5a9f81a78c) CUBE. включил FATFS в режиме SD карты
Правда если сделать из ioc проекта генерацию с нуля, проект собирается нормльно.
Вывод:
В этом конкретном случае куб добавляет файл и это вызвает дублирование. Также это вызывает сообщения о ошибках при генерации когда проекта - «The code is sucessfully generated under [путь к проекту] Project language:C but TrueSTUDIOproject generation have a problem». Если выключить NTFS файл удаляется кубом и код генерится без ошибок.
проблема с поиском по слову ИмяФайла_com_state например в ревизии «124 (331594f57478) прототип ExecuteMenuActions() выполняющей скрипты»
Problems encountered during text search.
File 'ИмяФайла4ME/FatFs/diskio.c' has been skipped, problem while reading: ('File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\diskio.c.').
File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\diskio.c.
File 'ИмяФайла4ME/FatFs/ff.c' has been skipped, problem while reading: ('File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\ff.c.').
File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\ff.c.
File 'ИмяФайла4ME/FatFs/ff_gen_drv.c' has been skipped, problem while reading: ('File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\ff_gen_drv.c.').
File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\ff_gen_drv.c.
File 'ИмяФайла4ME/FatFs/syscall.c' has been skipped, problem while reading: ('File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\option\syscall.c.').
File not found: D:\PROJECTS\AtollicWrkPrj\Middlewares\Third_Party\FatFs\src\option\syscall.c.
Проверить что такого пути действительно нет
Выделить у адреса верную и неправильные части
Провести поиск по всем файлам воркспейса
Можно в фаре забить верную часть
Можно из атоллика регулярными выражениями в таком стиле: Middlewares.{1,2}Third_Party.{1,2}FatFs.{1,2}src.{1,2}
Попобовать удалить подозрительные куски. При это число ошибок должно уменьшиться (например последний раз ошибка была в файле .project, содержалась в подобных строках - <location>PARENT-2-PROJECT_LOC/Middlewares/Third_Party/FatFs/src/diskio.c</location>)
Это может вызвать конфликт с CUBEMX
Добавить ARENT-2-PROJECT_LOC в Linked Resources не удалось.
Помогает поставить плагины сторонних производителей.
Их очень много. Есть с уникальным функционалом. Установка интуитивна: тыкаешь, ищешь, загружаешь плагин, перезагружаешь среду, открываешь новый вид – вуаля. Если после установки плагина начались проблемы, попробовать перезагрузить среду. Если проблемы остались, переименовать папку типа C:\Users\your_name\.eclipse и запустить заново.
$Install From Eclipse Marketplace
Почему например не ищет все вхождения с помощью Ctrl + Shift + G flag_status_device_out
Маркеры.
@ Пути к настройкам помечены символом @.
$ Название раздела в руководстве, в котором вы можете прочитать подробности темы помечены символом $.
Структура руководства сохранена, это позволяет быстро найти исходную статью. Также для быстрого поиска названия большинства глав соответствуют названиям в руководстве. Двуязычные заголовки упростят переход в руководстве для подробного разбора кода
v2.