Visual Studio Code for IBM i: A Resource Guide
UPDATED 11/20/2024
VS Code for IBM i offers an alternative to RDi, the heavy-duty, fee-based graphical IDE for IBM i, and SEU, the native green-screen IDE. It’s faster than RDi and easier to learn than either RDi or SEU. It supports development in RPGLE, COBOL, JavaScript, PHP, Python, Node.js and other languages.
Thanks to Liam Allan and other IBM i community members for creating this IBM i extension to the popular Visual Studio Code.
Code for IBM i Official Resources
Visit the Code for IBM i page on the Visual Studio Marketplace. From there you can:
- Install the Code for i extension
- Watch Liam Allan’s tutorial videos
- Read the official documentation
- Get a list of VS Code keyboard shortcuts for Windows, macOS, or Linux
- Raise or review issues and enhancement ideas
Liam also published a summary of Code for IBM i’s progress in 2023, with a peek into what’s to come in 2024.
VS Code for IBM i Training
For the most efficient way to get your entire team up and running with VS Code for IBM i, talk to us about training.
Code for IBM i Articles by Seiden Group
These articles are listed by publication date, from June 2021 to present. Jump to the most recent articles here.
VS Code for IBM i: Introduction
Introducing Code for IBM i, a free extension for Visual Studio Code that makes it easy and efficient to develop RPGLE and COBOL applications for IBM i. Read more…
Viewing SQL Results, Comparing Source, Finding Content
How to use Code for IBM i (RPG, COBOL) with Visual Studio Code so you can view SQL results inline, compare sources, and search file content. Read more…
Editing PHP
How VS Code for IBM i helps IBM i developers edit PHP on IBM i with quick setup and fast loading/saving, at no cost and with time-saving developer productivity features. Read more…
RPG Linting and Content Assist
How to get started with the Code for i linter, a static code analysis tool used to flag programming errors, bugs, stylistic errors and suspicious constructs. Read more…
5250 Terminal and PASE Shell
How to open your choice of a 5250 terminal or a PASE shell right in the editor. Read more…
Source Date Settings
Source dates are supported in Code for IBM i, but not by default. Here’s how you can enable them. Read more…
Debugging RPGLE and COBOL
New as of February 2023, Code for i includes an ILE debugger. This video and related docs show how to get started with it. Read more…
January 2022 Update
An overview of all of Code for IBM i’s extensions, including RPGLE Language Tools, RPGLE free, IBM i Code Coverage, IBM i Testing, and the IBM i Git client. Read more…
Language Tools to Make Coding Easier
An overview of Code for IBM i features, highlighting support for both fixed-format and free-format RPGLE. Read more…
Project Mode
How RPGLE developers can navigate their code—and understand it—all while editing remotely in Code for i. Read more…
Edit IFS Files Using Visual Studio Code for IBM i
Follow these seven quick steps to install VS Code and its Code for IBM i extension to access and work with IFS files stored on your IBM i. Read more…
How to Update the Code for i Extension
Updating Code for i requires only a restart of VS Code, but here the details to clarify the process. Read more…
How to Report an Issue with VS Code for IBM i
If you encounter a bug or issue with Code for IBM i, installing the latest update may resolve it. If not, follow these instructions to report it. Read more…
Using SSH keys with VS Code for IBM i
This article explains how to configure VS Code for IBM i to use SSH public key authentication, a more secure alternative to passwords. Read more…
VS Code for IBM i Repositories
If you want to understand how a component of Code for i works, or suggest an enhancement, here’s a list of links to the repositories for popular Code for i extensions. Read more…
Read-only Mode in VS Code for IBM i
If you are using the VS Code for i extension and would like to “browse” or view certain source members without the risk of modifying them, use “Read only” / “Protected” mode. Read more…
Code for IBM i Minimum Requirements
In September 2024, the VS Code for i maintainers clarified minimum system requirements for the IDE, summarized in this post. Read more…
Compare Source Code with VS Code for IBM i
VS Code for i can easily compare IBM i source code versions, whether stored in traditional source members or in IFS stream files. Read more…
“BOB” for IBM i: Demo by Edmund Reinhardt
In this one hour tutorial, Edmund walks us through how to use Better Object Builder (BOB) to compile source in VS Code, prepare a make file from scratch, and use Source Orbit. Read more…
Future Resources
We will do our best to keep this list up to date, so if we miss something good, let us know!
I’m pretty pleased with the Code for IBM i extension so far, but have two questions for which I was unable to locate answers in your documentation:
1. How do we reset source dates? When we promote a new program to production, it is our policy to reset source date for each line of the source member to 000000. I don’t seen any way to do that through the extension.
2. We have source files with thousands of members. So, scrolling for a specific source in the browser list can be quite tedious. A search in the browser list is useless, as it is a text search within each member, rather than a search of member names (and takes forever). Is there a shortcut to load a target source member directly like we have in RDi? (In RDi, you can press Ctrl-Shft-A to display a screen that allows you to enter library, file, and member, and get that member displayed in the editor; apologies if you already knew that).
Hi Sean,
Apologies for the delay in responding. Your best bet would be to join tomorrow’s Code for i Fridays meeting (Friday, July 12 from 2:30-3:30pm Eastern.) These are exactly the types of issues/ideas for enhancement that Code for i developers cover in these working meetings.
You can get a meeting invitation and more info here: https://www.seidengroup.com/2024/05/13/code-for-ibm-i-fridays-a-free-seiden-community-event/
If the timing doesn’t work for you or one of your colleagues, this post explains how to report your issues or requests for enhancement: https://www.seidengroup.com/2023/07/10/how-to-report-an-issue-with-vs-code-for-ibm-i/.
Hi,
Learning my way through the swamp. Lucky me is the designated trainer/installer. I am doing ok except for this notification:
“Unable to install GETNEWLIBL. See Code for IBM i output for details.”
Everything else is going well, connected OK, directories set up etc. Any ideas?
Hi Jack, the first thing to do when you get an error message that you can’t figure out is to update your version of Code for i. It’s fast and easy, and issues get fixed so quickly that updates often solve the problem. The instructions are here: https://www.seidengroup.com/2023/07/10/how-to-report-an-issue-with-vs-code-for-ibm-i/.
If updating doesn’t resolve your issue, the article above also gives instructions for reporting your issue to the Code for i team.
Let us know what happens.
Perhaps a little late for OP, but if anyone else stumbles upon the problem and find themselves here. I encountered the same error. Found in IBM i output that I could not access the object. It hade been created by another user before me and authorities were set only for that user. So check t hat you have the authority to create or replace ILEDITOR.GETNEWLIBL
Thanks, Sebastian! We appreciate your sharing the solution you discovered.
Hi,
We are trying to evaluate VS code for IBMi development in our CVS IBMi application before rolling the same out for DEV usage.
While performing the evaluation we ran into some issues, reaching out to this group to get feedback for resolving these issues.
Let me know if there is a separate forum that I should use to log these items for feedback, we may have more such items in upcoming weeks. Thanks
1. Unable to add Object Browser Filter once added. Tried Right Click+Delete Filter but created filter is not getting removed. Did refresh and also tried restarting VS code but did not work.
2. Similar issue with Profiles, once a profile is created I am unable to delete/remove it.
3. In few of our machines, we are runing into issues with adding object brower/source filters. Getting error ‘CPC2957: No records copied from file O_RSOHZJBH in TESTLIB. CPF2817: Copy command ended because of error.’
We have validated system temporary setting’s to ensure Temporary library(TESTLIB) and Temporary IFS directory are setup correctly. This is holding many developers to evaluate Code for IBMi.
Regards
Digvijay
Hi Digvijay,
Thanks for reporting these issues. The best way to get fast response is to report them through Code for i itself. This blog post shows you how to do that: https://www.seidengroup.com/2023/07/10/how-to-report-an-issue-with-vs-code-for-ibm-i/.
Let us know how it goes with the Code for i issue tracker.
Thanks you for your prompt feedback, have raised the issue using GitHub issue log. Thanks
You’re welcome! Let us know if there’s anything else we can help with.
If i have a list of Source Physical members and I want to find a string or a word in any of my programs? How you do that?
Patrick Behr suggests that if you right-click on the source PF name, you’ll see an option “Search Source File.”
How do I access a library that is an iASP on VS Code?
That’s part of your connection settings.
See https://halcyon-tech.github.io/docs/#/pages/settings/connection
Hello again – one more question. I am trying to use VS Code debug and it doesn’t work with pub400. The only viable alternative I can find so far is iDevCloud for $100.00 a month. That seems pretty steep for trying to learn and experiment. Can you recommend any other low cost alternatives to PUB400 that will allow using debug with Code for IBMi ?
There are a couple of user groups that allow members access to IBM i (MAGiC and OCEAN are the two that I am aware of, maybe others). I think membership is about $100/year.
Hello. I am using VS Code with PUB400 and am finding that when I use a special character such as !, it is converted to a different character when I view the code from the green screen. It is the same problem if I write the code on the green screen and then view it in vs code. Is there something I need to do in the settings of VS CODE to fix this? Or maybe an extension I’m missing?
I wonder if it’s a CCSID issue?!? What is the system CCSID?
DSPSYSVAL SYSVAL(QCCSID)
ISTR PUB400.COM is on 237, the German EBCDIC page.
Is this a hard-coded “!” in RPG source? Maybe try converting it into a constant or variable.
Hi All,
I’m starting to use Visual Studio, I think is a great tool to write RPG program.
I have a problem on connection to iSeries.
I set up my user name and password but, when I try to connect, I receive this error:
Not connected to 10.144.11.165! Handshake failed: no matching client->server cipher
I don’t found information about this error. Someone can help me to solve this issue??
Many thanks
Davide
Hi, Davide, something seems wrong with your SSH connection. I suggest you test your SSH connection from a terminal or the SSH program in Windows. Troubleshoot your connection there. Once it works, then you can use it again with Code for i. From a terminal, you can use ssh -vvv to get verbose logging information.
Great compilation of info – just what i needed! Thanks, Amy.
Very glad that you found it useful! If you run across other great resources that would flesh out this list, please let us know.