Skip to content

codefori/vscode-ibmi-fs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

152 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

vscode-ibmi-fs

This extension provides additional functionality not found in the base Code for IBM i extension for viewing and managing objects inside of the IBM i QSYS file system.

Supported Object Types

๐Ÿ“ฆ Save Files (SAVF)

Save files are special file objects used to store saved objects and libraries.

Features:

  • ๐Ÿ“Š Display save file contents (objects, members, spooled files, IFS directories)
  • โฌ‡๏ธ Download save file to local system
  • โฌ†๏ธ Upload save file(s) from local system
  • ๐Ÿ—‘๏ธ Clear save file contents
  • ๐Ÿ’พ Save objects/libraries to save file
  • ๐Ÿ“‚ Restore objects/libraries from save file

๐Ÿ“จ Data Queues (DTAQ)

Data queues are objects used for inter-process communication, allowing programs to send and receive messages asynchronously.

Features:

  • ๐Ÿ“Š Display data queue information and attributes
  • ๐Ÿ“‹ View messages in the queue
  • โžก๏ธ Send new messages to the queue
  • ๐Ÿ—‘๏ธ Clear all messages from the queue
  • ๐Ÿ”‘ Support for keyed and non-keyed data queues

๐Ÿ“ Data Areas (DTAARA)

Data areas are objects that store data that can be accessed by multiple programs.

Features:

  • ๐Ÿ“Š Display data area information and current value
  • ๐Ÿ“‹ View data area attributes (type, length, decimal positions)
  • โœ๏ธ Change data area content
  • ๐Ÿ”ข Support for different data area types (*CHAR, *DEC, *LGL)

๐Ÿ–จ๏ธ Output Queues (OUTQ)

Output queues manage spooled files and printer output.

Features:

  • ๐Ÿ“Š Display output queue information and statistics
  • ๐Ÿ“‹ List all spooled files in a queue with details
  • โธ๏ธ Hold/Release output queues
  • ๐Ÿ—‘๏ธ Clear output queue
  • โ–ถ๏ธ Start/Stop printer writers
  • ๐Ÿ“„ Generate PDF from spooled files
  • ๐Ÿ—‘๏ธ Delete individual or old spooled files
  • ๐ŸŽจ Dynamic UI based on queue and writer status

๐Ÿ“‹ Job Queues (JOBQ)

Job queues manage batch jobs waiting to be processed.

Features:

  • ๐Ÿ“Š Display job queue information and statistics
  • ๐Ÿ“‹ List all jobs in a queue with their details
  • โธ๏ธ Hold/Release/Clear job queues
  • โธ๏ธ Hold/Release/End individual jobs
  • ๐ŸŽจ Dynamic UI based on queue and job status

๐Ÿ’พ User Spaces (USRSPC)

User spaces provide temporary or permanent storage for data that can be accessed by multiple programs.

Features:

  • ๐Ÿ“Š Display user space information and attributes
  • ๐Ÿ“‹ View user space content (hexadecimal and text representation)
  • โœ๏ธ Change user space data at specific positions
  • ๐Ÿ“ Support for different user space sizes
  • ๐Ÿ”„ Automatic space extension capabilities

๐Ÿ’ฌ Message Files (MSGF)

Message files contain predefined messages used by IBM i applications.

Features:

  • ๐Ÿ“Š Display all messages in the message file
  • ๐Ÿ“‹ View message details (ID, text, severity, reply type)
  • ๐Ÿ“„ First and second level message text
  • โš™๏ธ Reply type and valid reply values
  • ๐Ÿš€ Fast table component for performance with many messages

๐Ÿ’ฌ Message Queues (MSGQ)

Message queues store messages sent by programs, system functions, or users, providing communication between jobs.

Features:

  • ๐Ÿ“Š Display message queue contents with detailed information
  • ๐Ÿ“‹ View message text (first and second level)
  • ๐Ÿ“… Show message metadata (severity, timestamp, sender job/user)
  • ๐Ÿ—‘๏ธ Clear all messages from the queue
  • ๐Ÿš€ Fast table component for performance with many messages

๐Ÿ”— Binding Directories (BNDDIR)

Binding directories contain lists of service programs and modules used during program binding.

Features:

  • ๐Ÿ“Š Display binding directory entries
  • ๐Ÿ“‹ View bound objects (library, type, activation)
  • ๐Ÿ“… Creation date and time information
  • โž• Add new entries to binding directory
  • ๐Ÿ—‘๏ธ Delete entries from binding directory
  • ๐Ÿ” View exported symbols from service programs

๐Ÿ”ง Programs and Service Programs (PGM/SRVPGM)

Programs and service programs are executable objects.

Features:

  • ๐Ÿ“Š Display comprehensive program information
  • ๐Ÿ“‹ View program attributes and properties
  • ๐Ÿ”— List bound modules
  • ๐Ÿ“ฆ List bound service programs
  • ๐Ÿ” View exported symbols (for service programs)
  • ๐Ÿ› Debug data availability information
  • ๐Ÿ“… Creation and compilation information

๐Ÿงฉ Modules (MODULE)

Modules are compiled ILE objects that contain executable code and can be bound into programs or service programs.

Features:

  • ๐Ÿ“Š Display comprehensive module information
  • ๐Ÿ“‹ View module attributes (creation date, source file, compiler options)
  • ๐Ÿ“ Detailed size information (code size, data size, debug data)
  • ๐Ÿ”ง List all procedures defined in the module
  • ๐Ÿ”— View imported and exported symbols
  • ๐Ÿ“ฆ Display referenced system objects
  • ยฉ๏ธ Show copyright information
  • ๐ŸŽจ Multi-tab interface for organized information display

โš™๏ธ Commands (CMD)

Command objects define IBM i CL commands.

Features:

  • ๐Ÿ“Š Display command definition
  • ๐Ÿ“‹ View all command parameters
  • ๐Ÿ”‘ Parameter keywords and values
  • ๐Ÿ“ Parameter descriptions
  • ๐Ÿ”ข CCSID information

๐Ÿ“„ Job Descriptions (JOBD)

Job descriptions define the runtime environment for batch jobs.

Features:

  • ๐Ÿ“Š Display job description attributes
  • ๐Ÿ“‹ View job queue, output queue, and message queue
  • ๐Ÿ‘ค User profile and initial library list
  • โš™๏ธ Job attributes and system values
  • ๐Ÿ”ง Routing data and request data

๐Ÿ““ Journal Receivers (JRNRCV)

Journal receivers store journal entries for auditing, recovery, and replication purposes.

Features:

  • ๐Ÿ“Š Display journal receiver information and attributes
  • ๐Ÿ“‹ View receiver status and statistics
  • ๐Ÿ”ข View sequence number ranges (first/last)
  • ๐Ÿ“… View attachment and detachment timestamps
  • ๐Ÿ”— View linked receivers (previous/next in chain)
  • ๐ŸŒ View remote journal configuration
  • ๐Ÿ” View filter settings (objects, images, programs)
  • ๐Ÿ’พ View size and threshold information

๐Ÿ““ Journals (JRN)

Journals record changes to database files, data areas, and other objects for auditing, recovery, and replication.

Features:

  • ๐Ÿ“Š Display journal information and configuration
  • ๐Ÿ“‹ View journal receiver chain with details
  • ๐Ÿ”— View attached receiver and receiver statistics
  • ๐Ÿ”ข View sequence number ranges for each receiver
  • ๐Ÿ“… View attachment, detachment, and save timestamps
  • ๐ŸŒ View remote journal configuration
  • ๐Ÿ” Display journal entries using SQL queries
  • โž• Generate new journal receivers
  • ๐Ÿ’พ View size and threshold information
  • โš™๏ธ View journal settings (cache, filtering, fixed-length data options)

๐ŸŒ DDM Files (DDMF)

DDM (Distributed Data Management) files provide access to files on remote systems.

Features:

  • ๐Ÿ“Š Display DDM file configuration and attributes
  • ๐ŸŒ View remote location information (system name/address, port)
  • ๐Ÿ”— View remote file name and library
  • โš™๏ธ View access method and file attributes
  • ๐Ÿ”’ View security and connection settings
  • ๐Ÿ“‹ Support for multi-line field values

๐Ÿ–ฅ๏ธ Subsystem Descriptions (SBSD)

Subsystem descriptions define independent operating environments within IBM i that control how work enters the system and how resources are allocated.

Features:

  • ๐Ÿ“Š Display subsystem information and status (active/inactive)
  • ๐Ÿ“‹ View memory pools configuration
  • ๐Ÿš€ View autostart job entries (AJEs)
  • ๐Ÿ’ป View workstation entries (WSEs)
  • ๐Ÿ“‹ View job queue entries (JOBQEs)
  • ๐Ÿ”€ View routing entries (RTGEs)
  • โšก View prestart job entries (PJEs)
  • ๐Ÿ‘ฅ View active jobs in the subsystem (when active)
  • โ–ถ๏ธ Start subsystem
  • โน๏ธ End subsystem with multiple options (*IMMED, *CNTRLD)
  • ๐Ÿ›‘ End individual jobs within the subsystem
  • ๐ŸŽจ Dynamic UI based on subsystem status

๐ŸŽฏ Classes (CLS)

Classes define the runtime attributes for batch jobs, controlling how jobs execute and consume system resources.

Features:

  • ๐Ÿ“Š Display class information and attributes
  • ๐ŸŽš๏ธ View run priority (1-99, lower number = higher priority)
  • โฑ๏ธ View time slice in milliseconds
  • ๐Ÿ’พ View maximum temporary storage allowed
  • โšก View maximum CPU time limit
  • ๐Ÿ‘ฅ View maximum active threads
  • โณ View default wait time for locks
  • ๐Ÿ—‘๏ธ View purge eligibility status
  • ๐Ÿ“… View usage statistics (last used date, days used count)
  • ๐Ÿ”ง Automatic creation of required SQL objects using QWCRCLSI API
  • ๐Ÿ“– Read-only view (use CHGCLS command to modify)

๐Ÿ“ Files (FILE)

File objects include physical files (PF), logical files (LF), views, and indexes that store and organize data.

Features:

  • ๐Ÿ“Š Display comprehensive file/table/view/index information
  • ๐Ÿ“‹ View file attributes (creation date, owner, journaling status, CCSID)
  • ๐Ÿ“ˆ View detailed statistics (row counts, operations, I/O metrics)
  • ๐Ÿ‘ฅ Display file members with their statistics
  • ๐Ÿ”— Show dependent objects (indexes, views, constraints)
  • ๐Ÿ” Query file contents using SQL SELECT
  • ๐Ÿ“„ View view definitions and capabilities
  • ๐ŸŽฏ Support for both DDS and SQL-based files
  • ๐ŸŽจ Multi-tab interface for organized information display

๐Ÿ” Query Definitions (*QRYDFN)

Query definitions are objects created by Query/400 or Query Manager that define database queries.

Features:

  • ๐Ÿ“Š Translate *QRYDFN objects to SQL statements in text editor
  • ๐Ÿ”— Automatic file reference conversion (LIB/FILE โ†’ LIB.FILE)
  • ๐Ÿ“– Read-only view (use Query/400 or Query Manager to modify)

Installation

This extension requires the Code for IBM i extension to be installed and connected to an IBM i system.

Usage

  1. Connect to your IBM i system using Code for IBM i
  2. Navigate to the Object Browser
  3. Actions available inside the Action Bar (top right)

Requirements

  • Code for IBM i extension
  • Active connection to an IBM i system

Localization (L10N)

This extension supports multiple languages through VSCode's built-in localization framework.

Supported Languages

  • ๐Ÿ‡ฌ๐Ÿ‡ง English (default)
  • ๐Ÿ‡ฎ๐Ÿ‡น Italian
  • ๐Ÿ‡ซ๐Ÿ‡ท French
  • ๐Ÿ‡ฉ๐Ÿ‡ช German
  • ๐Ÿ‡ช๐Ÿ‡ธ Spanish
  • ๐Ÿ‡ฏ๐Ÿ‡ต Japanese
  • ๐Ÿ‡ฐ๐Ÿ‡ท Korean
  • ๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ต๐Ÿ‡น Brazilian Portuguese
  • ๐Ÿ‡จ๐Ÿ‡ณ Simplified and traditional Chinese

Features

  • ๐ŸŒ Automatic language detection - The extension automatically uses your VSCode display language
  • ๐Ÿ“ 1200+ translated strings including:
    • User interface messages and labels
    • Tab and panel titles
    • Table column headers
    • IBM i database column names
  • ๐Ÿ”„ Dynamic translation - All UI elements are translated in real-time

Adding New Languages

To contribute translations for a new language:

  1. Create a new file l10n/bundle.l10n.<locale>.json (e.g., bundle.l10n.fr.json for French)
  2. Copy the structure from l10n/bundle.l10n.en.json
  3. Translate all values while keeping the keys unchanged
  4. Submit a pull request

Translation files use the standard VSCode L10N format where English text serves as the key.

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

License

MIT License - see LICENSE file for details

About

File system provider for IBM i QSYS

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors