As you hopefully have seen, we have been working hard to build a first-rate, modern developer experience with the Salesforce Extensions for Visual Studio Code. In the last year, we have added many new features to the extensions including the free replay debugger, the ability to develop against any org, and lots of other productivity enhancements. We have no intention of stopping either. We will continue to invest in these extensions to make them the premier developer experience for the Salesforce Platform. This post will give you a look into where we are heading with IDEs and developer tools on the Salesforce platform.
Building in the open
We are strong believers in open source developer tools. The final product of a developer tool is always better when the end users are involved in the process of prioritization, designing features, and providing honest feedback throughout the product lifecycle. To this end, we are committed to building the Salesforce Extensions for Visual Studio Code in the open. This doesn’t just mean that we open source the code, but rather we run the project in the open — for everyone to see and participate.
There are several things we have done to make this project as open and transparent as possible. First, we do all our development in a public repository on Github. If you want to send a pull request, comment on a change, or just look at the code to see how things work, you are free to do so. You can see which features we are actively working on and which pull requests we are currently reviewing.
Second, we publish our roadmap. We don’t maintain a secret private roadmap and a public roadmap, there is just one. The main reason to do this is so that, you as the end user of this tool have visibility and influence on what we build and when we build it. The important thing to remember about this roadmap is that it isn’t set in stone. We ship our extensions every week and are always iterating and adjusting the plans based on customer feedback. Additionally, this roadmap is not complete. That is because usage of these extensions is growing every day. As more and more people are making the switch to Visual Studio Code, we are seeing more and more ideas and requests. We leave room in our backlog and roadmap to accommodate customer requests and bug fixes as quickly as possible.
Third, feature requests and specifications are documented publicly. As the product manager of the Salesforce Extensions, I use Github Issues to document potential new features. This allows me to solicit feedback as early as possible in the planning cycle from customers. Rather than spend the time to build something, release it, and then get feedback, we can get feedback before a single line of code is even written. Additionally, this allows you to help with prioritization. If there is something you are passionate about, let us know with a comment or a simple 👍 or 👎 or even 🎉 on an issue or feature. This feedback has a direct impact on which issues and features we prioritize.
Fourth, we try to release new features as quickly as possible. We ship many new features behind a feature flag that enables developers who are brave or want to test the latest code to opt-in to using prerelease tools. Generally, this is done via a configuration option in the Visual Studio Code settings. We are also moving to a model where if you install and run the extension in Visual Studio Code Insiders, you will automatically have all preview features enabled by default.
Seamless experience across devices
Today, you use many different tools to be a productive Salesforce developer – some are desktop tools and some are web tools. We know that official tools like Dev Console and unofficial tools like Workbench are used by thousands of our developers every day. We also know that the primary developer tools all have vastly inconsistent experiences and capabilities. As we are moving along in our journey to modernize the Salesforce Development experience, it is time to rethink these web-based developer tools.
We have made strides with the Salesforce Extensions for Visual Studio Code in providing modern and flexible developer experiences. Visual Studio Code gets us part of the way there. It is a lightweight and modern editor that runs on Windows, Mac, and Linux. Our vision is for our developers to be productive on any device at any time (except on vacation, don’t work on vacation), but there is still a lot of work ahead.
I don’t have a roadmap to share today, but I do want to assure you that this is an area we care deeply about and are investing in. However, before we start shipping features I want to use the same process we use for Visual Studio Code to plan what we should do next. My request to you is that you let us know what you want. What is important to you when you are using web-based tools on the platform? What would you like to see? What has driven you crazy over the years that you would like to see fixed? Open issues and feature requests on Github. I can’t guarantee that we will fix every issue or add every feature, but this will help us prioritize. Also, please note – if you have a production issue with Dev Console today, you should use the standard support channels, this repo is really only for future planning.
Deprecation of Force.com IDE
This brings us to the final part of this post. With all the new features being shipped and worked on, it is time to let go of one of our tools of days past. Earlier this year, I blogged about our intention to deprecate the Force.com IDE that is based on Eclipse. The main reason we were holding off making the official announcement and setting a date is that we wanted to add support for developing against any org in Visual Studio Code. We shipped the beta of that feature at Dreamforce and will be making that feature generally available sometime in the next few months. With this feature and all the other great enhancements in Visual Studio Code, now is the time to start the transition. A few resources to help you get started:
- Getting started with Visual Studio Code for Salesforce Developer
- Migrate From Force.com IDE to Visual Studio Code
- Webinar: VS Code for Salesforce Developers
- Dreamforce 2018 Session: Be An Efficient Developer with VS Code
- Trailhead: Quick Start: Salesforce DX
- Salesforce Developers Blog: Salesforce for VS Code
As of today, the Force.com IDE is in a maintenance only state. While we still provide support through our official channels for the product, the only updates we will make going forward are for critical security issues. On Oct. 12th, 2019 we will no longer provide support or updates of any kind to the Force.com IDE. Additionally, we will begin archiving documentation and removing download links to the product after that date.
The Force.com IDE has had a long and successful journey, but we feel strongly that the best path forward for developing on the Salesforce platform is with new, modern tools such as the Salesforce Extensions for Visual Studio Code or one of the great tools made by our partners.
Building an open source community takes time, but it is something we are passionate about doing. I hope that you value the transparency and are seeing the features you value delivered. We are always looking to make the developer experience on the Salesforce platform better.
The future of Salesforce Development is looking brighter every day, I am excited about what the future will bring and I look forward to shipping new features that will help you be more productive and have a more enjoyable experience building on the Salesforce Platform. Please continue to let us know how we can do our job better. You can find me on twitter @ntotten – I’m always happy to chat about Salesforce developer tools.