IBM i DevOps TechTalk
VS Code & Arcad -Part 2 #13
by the experts at ARCAD
This IBM i DevOps TechTalk podcast is on a very popular topic, VS Code. This is Part 2 and features Alan Ashley and Ray Bernardi, both Senior Solutions Architects. Listen in as they discuss VS Code for the IBM i and share great information and answers to questions:
- What are VS Code extensions?
- VS Code versus RDi?
- What enhancements and new VS Code extensions have been added to the marketplace?
- What is supported or not with VS Code
- What is Arcad doing with VS Code
- Arcad’s Elias extension which has been enhanced to manage and change Maintenance Reports, provide deeper information from the repository, tie into CodeChecker.
- How to install and get started.
The Story Behind the Mic: Podcast Transcription
R.B. – Welcome to IBM i DevOps TechTalk where we discuss key topics and questions with ARCAD experts. Today is part two of our discussion on VS Code with our expert Alan Ashley. Part one was recorded a while ago with Alan Ashley and Andrew Clark. This is a continuation of that and adds more information. Let’s get right into it.
So, Alan, can you tell me where we are now with VS Code and where we plan on going with it?
A.A. – There’s been a lot of enhancements, not only with ARCAD VS Code extensions, but with some of the underlying principles going back into the code for IBM i and which really makes the VS Code IDE talk to the IBM i. There are many enhancements particularly around the DB2 side of things. So when we start talking about: can I use VS Code for my everyday work?
The answer is going to be yes. You can use it for most of the items that you’ll want to do, such as if you need to create a new component in your application. Easy to do. You can do that right there within VS Code. If you want to go in and start doing some debug. You can do that within VS Code through those extensions that are in the marketplace. I keep talking about this marketplace and we’ll get to that just a little bit later because it is so vast with available components that can tie in. So think of an extension is like an RDi plugin, just minus the 4000 headaches that RDi plugins give you easily. So can we do everything we want to the original question? I’d say yes with a caveat. And the caveat is RDi has been around for decades.
It is very mature. And a lot of times you hear people talk about the fact that the first 80% is easy. The last 20% is hard. And that’s the case with this. Many of the features that make an IDE valuable and functional for whatever platform. The 80% is what’s out there. Now we’re filling in the gaps of those one offs and the hard stuff.
And that’s not just ARCAD. That is the open system community. That is an open source community that is developing things like the code for IBM i and the COBOL extensions that are out there. These are all being developed by the open source community.
R.B. – Which means they’re constantly being updated and kept up to date. And really what you’re saying here is VS Code comes with a set of built in features that are awesome. And if you start to use all of these extensions, you can really enhance the coding abilities of the thing. You can really extend your development environment to almost perfectly suit your needs.
A.A. – Exactly. And I know personally, as I’ve gone through this, I have found some extensions that I really like. There’s been some around Git Graph. That’s not a IBM specific thing, or an IBM i specific thing. That is a Git related function that I can use in combination with my development, so that from a somewhat administrator, somewhat developer perspective, I can see how things are going through Git Graph.
You can take advantage of some of the debuggers that are out there. You can also get through some of the terminal access extension as well. So you can basically get a 5250 screen with inside your integrated terminal. Why would you want to? I don’t know, but if you needed it it’s there. Those are the types of things that are out there in that marketplace. And many times people go, can you do this? It’s like, yes, that sounds reasonable. That sounds like it’s possible to be done. Let’s look in the marketplace and see if someone has developed one.
And odds are it’s probably out there.
R.B. – That sounds pretty interesting Alan. There’s a lot going on in VS Code. It’s seems to be being updated all the time. But what is ARCAD doing to keep up with that?
A.A. – So as you know ARCAD’s involvement really began back with Merlin and the VS Code aspect of things. So not only has ARCAD had been helping on that side of things as they get ready to release version two of Merlin, using dev spaces, which is truly a web version of VS Code, which makes access to the extensions.
And as part of that, we’ve been able to enhance our extensions as well and began to mature our current extensions. Just as an example, we’ve got an extension now to handle some of the administrative functions of your server, such as starting an AFS or server or restarting your Jetty server, or working with the within instances of your ARCAD install right from a VS Code extension.
And that’s really more of an admin aspect of things, but that’s one of those things that is slowly maturing. It’s something that you can do in RDi today.
R.B. – That’s kind of desperate and seamless integration with VS Code.
A.A. – Exactly. And that’s where we’re trying to get to this take some of those features that are in RDi and start developing them for VS Code. Another nice one. And this was a big one when we first released our extension. It was within VS Code. There’s no way to tie into maintenance reports within the IDE and maintenance reports within ARCAD really had that ability to do this track and start building out those reports on what was changed, who changed it, how it was changed in a nice condensed format.
You’d had to go to RDi or green screen to initiate that aspect of things. Now with our extensions, we’re able to manage, create and change our maintenance reports, attach those to any of the components that we’re working on. So now that part you don’t need to use RDi for anymore. So now another part of your day has been moved into VS Code extensions.
Along with that, the creation of new components. And again that was our VS Code aspect of things. But really now tying into the ARCAD framework of things, the ability to create a new component is a lot easier now than it was in version one. And again, that’s a maturity that is starting to happen within VS Code, within the VS Code community, within the open source community, as it deals with IBM i. And one of the other things that I was looking at when we’re talking about having this second part of this techtalk was one of the key main driving aspects of our code is our metadata repository. Because it contains so much information. It’s so valuable not only for the developer, but for the larger scope of people using the application. Because you can start doing source code analysis, you can start doing some discovery within it. Now within VS Code, in our normal extensions, you can now see a little bit more information about the repository. You can start to see some usage.
You can start to see more about which version is actually deployed into production. So a little bit more information is being displayed. So that when you’re going through it, you’re not having to go look somewhere else for some of this information. And if you’re using ARCAD and you’re using ARCAD Observer and you’re using VS Code, and there’s something that you want to see within the observer, drop us a line.
We’d love to add it to the roadmap. We’re developing it because we’re using it too. These are the things that we want to see. So if you’re using ARCAD Observer out there in VS Code and there’s something you want to see in the displays, let us know. And those are just some of the things that are currently working on.
And I know in version one, we talked about what was becoming and it was the DROPS interface, which kind of handle the CD part of things, and iUnit for unit testing. Both of those are on the verge of being released within the marketplace. So those are getting close. Like I said, the 80% is easy. The 20% is hard. And that’s what we’re working on now is the 20%.
R.B. – Sure. But I mean, really what we’re up to here is we’re making sure that VS Code is a completely full fledged IDE for IBM i developers. We’re going to work on it. In the end pretty much you got everything you need now, but we’re just making it better and better. And you never actually named the extension: ARCAD Elias.
A.A. – Yes. So we have ARCAD Elias. So that is the main tie in, and it runs and connects to the Jetty server running on the IBM i. And along with that, if you have ARCAD CodeChecker, if you’re using CodeChecker today, you can get the CodeChecker extension as well to tie into that. So you can use it right in your development just like you do in RDi today.
R.B. – So you get Transformer RPG source within VS Code as well?
A.A. – You can transform it right there in it. Now the one thing with our VS Code extension is transformer RPG is built in with Elias. So you had to have that transformer RPG license with it. And currently there’s not a standalone extension, but there is one in development so that we can pull that part of it out. And if you just have transformer RPG as a standalone, you’ll be able to make use of that as well. Just like CodeChecker.
R.B. – So Alan, to wrap this up, what would you say to a person who’s using ARCAD right now that wants to start using VS Code?
A.A. – So many of our customers have talked to us over between common or maybe they were on a webinar and they’re like, oh, this looks nice. How do I use it? First of, you would just download VS Code from the VS Code marketplace. So you can just google that. There is an IBM i development pack extension.
This contains 12 internal extensions. That’s really used to help connect VS Code to the IBM i. Then if since you’re an ARCAD customer, you would install the ARCAD Elias extension. But then on the server side you’ll need to install the Elias Jetty server, and that can be found within our portal or within the Git page that contains Elias.
And there’s some information within the marketplace on how to get to that. Now, once you get all that installed, there’s just a few little things that have to go on, such as study supports and whether or not you’re using security or non-secure like Https or not, and setting where the IP address is for the 400, where your builder server is.
And that’s pretty much it. And having worked with a couple of customers that have come to me and said: I want to use VS Code, or I want to look to see if I can use VS Code in my development. And I spent maybe less than 30 minutes. And they’re up and running. A couple of our customers have said they’ve now moved all their development over to using just our non-GA version of version two.
If they started using that as their everyday IDE extension code development tool, because it was that easy to get going. Some are using it in classic mode, some are using a centralized mode, and we even have one that is using it as a VS Code distributed model, which we don’t have a lot of within ARCAD.
But they got it. We got it set up for them. And off they went. And I haven’t heard from them since because they’ve been so happy with it. So that’s one way to do it. If you want to see a demo of VS Code and walk through some of these settings so that you maybe you can go off and do it on your own, kind of like an educational thing.
Just reach out. We’d be glad to do a demo and go over VS Code what it has, what it doesn’t have, where you might still need RDi or green screen or the ARCAD client to fill in some of those gaps. Because like I said, we’ve mentioned the whole time: the first 80% was easy. The last 20% is going to be hard, and it’s going to take a while to fill in all those little gaps, not only from an ARCAD perspective, but from an open source community world as well as they see things that need to be enhanced. People start enhancing those.
R.B. – That’s the way it usually is. Thank you Alan. And that was a nice wrap up. I really appreciate it. That’s it for this techtalk. As you can see, ARCAD is heavily invested in VS Code and making that work for you as a development platform. I suggest you take a look at it. It’s the way of the future.
Our Hosts
Alan Ashley
Solution Architect, ARCAD Software
Alan has been in support and promotion of the IBM i platform for over 30 years and is the Presales Consultant for DevOps on IBM i role with ARCAD Software. Prior to joining ARCAD Software, he spent many years in multiple roles within IBM from supporting customers through HA to DR to Application promotion to migrations of the IBM i to the cloud. In those roles, he saw first hand the pains many have with Application Lifecycle Management, modernization, and data protection. His passion in those areas fits right in with the ARCAD suite of products.
Ray Bernardi
Senior Consultant, ARCAD Software
Ray is a 30-year IT veteran and currently a Pre/Post Sales technical Support Specialist for ARCAD Software, international ISV and IBM Business Partner. He has been involved with the development and sales of many cutting edge software products throughout his career, with specialist knowledge in Application Lifecycle Management (ALM) products from ARCAD Software covering a broad range of functional areas including enterprise IBM i modernization and DevOps.