Skip to content

dennykorsukewitz/VSCode-Znuny

Repository files navigation

Znuny

Znuny Extension Icon

Znuny is a Visual Studio Code extension that helps you make Znuny development easier, faster, and less error-prone. It combines a large snippet library—static categories for everyday tasks plus POD-generated Kernel API snippets—with a theme-aware customizer for agent and customer skins, commands to insert SOPM file lists and @ObjectDependencies blocks from the code you are editing, and a Znuny-focused status bar when you work on framework files.

Repository GitHub Visual Studio Marketplace
GitHub release (latest by date) GitHub open issues GitHub closed issues Visual Studio Marketplace last-updated Visual Studio Marketplace Version
GitHub license GitHub pull requests GitHub closed pull requests Visual Studio Marketplace Rating release-date
GitHub language count GitHub contributors Visual Studio Marketplace Rating (Stars) Visual Studio Marketplace Rating
GitHub code size in bytes GitHub downloads VSC marketplace download VSC marketplace install
Versions Status
GitHub label version GitHub label version GitHub label version
GitHub label version GitHub label version GitHub label version
GitHub label version GitHub label version
GitHub commits since tagged version GitHub Workflow Lint GitHub Workflow UnitTest
Snippet Badges GitHub Workflow Pages

Features


Snippets

Snippets Total Counter

Znuny code snippets for fast, consistent and error free coding.

Snippets

Static

Snippets Static Counter

Statically created snippets.

  • CodePolicy
  • ConfigXML
  • Customizing
  • Debugging
  • DynamicFields
  • GitLab
  • Language
  • Licensing
  • Needed
  • Perl
  • POD
  • Scaffolding
  • Selenium
  • SOPM
  • VariableCheck

Generated

Snippets Generated Counter

Snippets created generically using the existing Perl POD.

snippets
│
└───Functions
│   └───ConfigObject
│   │       $ConfigObject->Get()
│   │       $ConfigObject->Set()
│   │
│   └───TicketObject
│           $TicketObject->TicketGet()
│           $TicketObject->TicketSearch()
│           ...
│
└───Modules
│       AgentTicketZoom
│       CustomerTicketOverview
│       ...
│
└───ObjectManager
        ConfigObject
            my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
        TicketObject
            my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
        ...

Customizer

This function fetches Znuny files from GitHub and adds origin to header.

# $origin: Znuny - 7775216b80452a6ce2267812a25bf23ae786ae57 - Kernel/System/Ticket.pm

Shortcut: strg + alt + z, c
Command: Znuny: Fetch Znuny files from GitHub.

Opens a project, branch and file selection list to chose a framework or addon file from. The file will get fetched live from the selected GitHub branch and added to the (selected) folder. The origin tag will be added automatically to the file header for you. The file will also be automatically added to the 'Custom/' directory in case it's a file with one of the file extensions '.pm', '.dtl' or '.tt'. If the copyright is set in the settings, it will be added as well.

The GitHub API is limited to 60 requests per hour for non authorized requests. If you need more requests, please create an issue on the use of credentials.

The following steps are performed one after the other.

1. Znuny - Customizer (1/5): Fetching GitHub repositories.

    This function allows you to search for GitHub owners or GitHub repositories.
    The search results (owner/repository) are then displayed.

2. Znuny - Customizer (2/5): Fetching branches.

    After selecting the repository, all possible branches are displayed.

3. Znuny - Customizer (3/5): Fetching files.

    After that, select the desired file.

4. Znuny - Customizer (4/5): Fetching destination folder.

    Finally, the destination folder must be selected.

5. Znuny - Customizer (5/5): Added file.

    `Hocus Pocus` - The file was created at the desired location.

Settings

Preferences -> Settings -> Extensions -> Znuny

Name Description Default Value
znuny.customizer.copyright Znuny Customizer Copyright. This Copyright will be added to the Customizer file under the Znuny Copyright.
znuny.customizer.repositories List of possible GitHub repositories. Znuny|FAQ|...

Customizer


Insert filelist

Inserts the SOPM Filelist content containing all files of a selectable project.
The following file types will be added: pm | tt | t | xml | js | html.tmpl

The function can be executed only in the .sopm file.

Shortcut: strg + alt + z, f
Command: Znuny: Insert Filelist to SOPM.

Settings

Preferences -> Settings -> Extensions -> Znuny

Name Description Default Value
znuny.insertFilelist.mode Controls how the SOPM file list is inserted.

File => Adds only every single file without <Filelist>.
Filelist => Adds the complete filelist with <Filelist>.
File

Insert filelist


Insert @ObjectDependencies

This function inserts the @ObjectDependencies array by parsing the file content. Only regular used OM (ObjectManager) calls are supported.

Shortcut: strg + alt + z, d
Command: Znuny: Insert @ObjectDependencies.

Insert @ObjectDependencies


StatusBar

The status bar gets an additional Znuny item and the entire status bar is displayed in the Znuny color #ff9b00
if the active file is a "Znuny file".

  • If the active file belongs to a Znuny framework ("Znuny file") in the workspace, the product name and version are displayed from the RELEASE file.
  • If the active file belongs to a Znuny package ("Znuny file") in the workspace, the vendor and the largest framework version are displayed from the SOPM file.

The status bar is updated with every active file change.

Shortcut: strg + alt + z, v
Command: Znuny: Show Znuny Version.

Settings

Preferences -> Settings -> Extensions -> Znuny

Name Description Default Value
znuny.statusBar.enabled Defines when the StatusBar should be updated.

On: Always active.
On Command: Activated only by a command.
On ChangeActiveTextEditor: Activated only by change of active TextEditor.
Off: Not active.
On
znuny.statusBar.statusBar.background Znuny Status Bar background color. #ff9b00
znuny.statusBar.statusBar.foreground Znuny Status Bar foreground color. #000000
znuny.statusBar.statusBar.foregroundZnuny Znuny Status Bar foreground color for Znuny Version Item. #ffffff
znuny.statusBar.statusBarItem.hoverBackground Znuny Status Bar hoverBackground color. #ffc062

StatusBar


Companion extensions

These tools are maintained as separate extensions (same publisher). They can be installed directly from the Visual Studio Marketplace (search by name or extension ID).

Workflow Extension Marketplace ID
Quote selection with a marker block Quote With Marker dennykorsukewitz.QuoteWithMarker
Add / remove workspace folders (multi-root helpers) Add Folder To Workspace dennykorsukewitz.addfoldertoworkspace

Installation

To install this extension, you have three options:

1. Search Extension in Marketplace

Search and install online extension via VSC extensions menu.

Code -> Preferences -> Extensions simply search for Znuny to install.

2. Install via vsix file

Download latest vsix file and install via extensions menu.

Code -> Preferences -> Extensions -> Views and More Action -> Install from VSIX.

3. Source code

Download archive with the latest release and unpack it to Visual Studio Code extensions folder $HOME/.vscode/extensions/.


Download

For download see VSCode-Znuny


Enjoy!

Your Denny Korsukéwitz 🚀

About

Znuny VS Code tooling: Perl/Znuny snippets (static + POD-generated APIs), skin customizer, insert SOPM file list and @ObjectDependencies, Znuny status bar—faster, safer package and module work.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors