Skip to content

Repository files navigation

AlexYa EDT Tools (com.alexya.edt.tools)

A plugin for 1C:EDT 2026.1 that adds three navigator conveniences:

  1. Sort external data processor/report project contents alphabetically.
  2. Filter to uncommitted objects — a navigator toolbar toggle that shows only metadata objects with uncommitted Git changes.
  3. Build an external-object dump on demand — a context-menu command that builds the selected external data processor/report into .epf/.erf.

Sorting

  • View-only. It never modifies project files or the stored metadata order — only the navigator display changes.
  • External projects only. The command is unavailable in configuration and extension projects.
  • Per-group. Sorting is toggled from the context menu of a specific group; other groups and projects are untouched.
  • Persistent. The sorted state is stored in plugin preferences and reapplied after an EDT restart.
  • Sort rule. By object name, case-insensitive, ru locale (Latin before Cyrillic): VanessaAutomation, Обработка1, Auto, YA, TestAuto, Test, VanessaAutomation, YA, Обработка1.

Filtering to uncommitted objects

Toggle «Показать незакоммиченные объекты» in the metadata navigator's toolbar (next to EDT's own «Фильтровать по подсистемам») to collapse the tree down to only objects with uncommitted Git changes.

  • Requires a Git-backed project. In a project without a Git repository the toggle has no effect — nothing is hidden.
  • Matches dirty, staged, and untracked objects — the same states shown by EDT's own navigator decorations (the > dirty marker and the staged overlay icon), plus new files not yet added to Git at all.
  • Ancestor groups/folders stay visible for any matching descendant, so filtered objects remain reachable by navigating the tree — sibling objects with no changes are hidden, but the containing catalog/group is not.
  • Toggle off restores the full tree.

Building a single external-object dump

Use *«Выгрузить (*.epf или .erf)» in the navigator context menu of an external data processor or external report. The command builds only that object into the dump folder configured in the project's «Настройки выгрузки» section.

  • It works when automatic dump generation is disabled.
  • Generation runs as a cancellable background job and does not block the EDT UI.
  • A missing dump folder or platform error is reported instead of being ignored.

Project layout

pom.xml                              Parent Tycho reactor
bundles/com.alexya.edt.tools/                  The plugin (OSGi bundle)
features/com.alexya.edt.tools.feature/         Feature wrapping the bundle
releng/com.alexya.edt.tools.target/            Target platform definition (.target)
releng/com.alexya.edt.tools.repository/        p2 update site (build output)

How it works (implementation notes)

Grounded in static inspection of the EDT 2026.1 bundles:

  • Navigator view id: com._1c.g5.v8.dt.ui2.navigator (Eclipse Common Navigator).
  • External project folders are com._1c.g5.v8.dt.navigator.adapters.ExternalObjectFolderNavigatorAdapterBase instances; their EClass identifies the external object type and their parent is the owning project.
  • On startup we wrap the navigator's existing comparator (EDT's NavigatorSorter) with GroupSortComparator, which sorts children by name only for groups toggled ON and delegates to EDT for everything else.
  • Only the exported EDT ...navigator.adapters package is referenced — no internal $Folder classes.

Building the update site

Prerequisites:

  • JDK 17
  • Maven 3.9+
  • A local 1C:EDT 2026.1 installation (its plugins directory is the target platform).
  1. Point EDT_TARGET_PLATFORM at your shared p2 bundle pool's plugins directory (not 1cedt/plugins, which only holds the launcher). To find the pool, open <EDT install>/1cedt/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info and take the directory of any file: entry.

    PowerShell:

    $env:EDT_TARGET_PLATFORM = "$env:USERPROFILE\.p2\pool\plugins"

    Bash:

    export EDT_TARGET_PLATFORM="$HOME/.p2/pool/plugins"
  2. Build:

    mvn clean verify
    
  3. The update site is produced at:

    releng/com.alexya.edt.tools.repository/target/repository/
    

    (contains content.jar/artifacts.jar, the feature and the bundle).

    The packaged p2 archive is produced as releng/com.alexya.edt.tools.repository/target/com.alexya.edt.tools.repository-1.0.0.zip.

Compatibility

Release 1.0.0 has been smoke-tested on 1C:EDT 2026.1. Sorting is shown only in external data processor/report projects and remains unavailable in configuration and extension projects.

Installing into 1C:EDT ("Установить новое ПО")

From the online repository (recommended)

  1. Open СправкаУстановить новое ПО… (Help → Install New Software).

  2. Click Добавить… (Add).

  3. Enter AlexYa EDT Tools as the repository name and paste this location:

    https://alexandryablonskiy.github.io/EDT-Tools/
    
  4. Select AlexYa EDT Tools, click Далее (Next), accept the MIT license, and finish the installation.

  5. Review the unsigned-content warning and continue only if you trust this release, then restart EDT when prompted.

The URL is the project's GitHub Pages p2 update site and can also be used later with СправкаПроверить обновления.

From a locally built repository

  1. СправкаУстановить новое ПО… (Help → Install New Software).
  2. Добавить… (Add) → Локальный… (Local) → select the releng/com.alexya.edt.tools.repository/target/repository/ folder.
  3. Check AlexYa EDT Tools, finish the wizard, and restart EDT.
  4. Right-click the object folder of an external data processor/report project in the navigator → Сортировать по имени.

Uninstalling

СправкаО программеСведения об установкеУстановленное ПО, select the feature and uninstall. Because the plugin never writes to your projects, removing it leaves them untouched (only the plugin's own preferences are dropped).

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages