Top five Visual Studio Code add-ons for programming in AL
In this blog, we will delve into the top 5 Visual Studio Code extensions specifically designed for AL programming. These extensions are designed to make the AL programming experience more productive and efficient by providing developers with the tools they need to write, debug and deploy code with ease. Whether you are a seasoned developer or just starting out with AL programming, these extensions will help you take your skills to the next level. So, let's get started and explore the best of what Visual Studio Code has to offer for AL programmers!
A brief overview of Visual Studio Code
Visual Studio Code is a popular, open-source code editor that is widely used by developers for writing, debugging, and deploying code. It is known for its sleek design, versatility, and performance.
AL programming is a high-level programming language that is used in the development of applications for Microsoft Dynamics 365 Business Central. It is essential for developers to have the right tools to make their AL programming experience more productive and efficient.
This is where extensions come in. Visual Studio Code extensions are add-ons that enhance the functionality of the code editor. They can help developers with everything from syntax highlighting to debugging to deploying code. In this article, we will focus on the top 5 extensions for AL programming in Visual Studio Code.
Importance of extensions for AL programming
Extensions play a crucial role in enhancing the functionality of Visual Studio Code and make the development process more streamlined and efficient. They provide developers with tools and features that are not available in the base installation of the code editor.
In the case of AL programming, having the right extensions can significantly boost a developer's productivity and make their coding experience more enjoyable. For example, extensions can provide syntax highlighting, code snippets, and auto-completion, making it easier for developers to write and understand code. They can also provide debugging and deployment tools, allowing developers to quickly identify and resolve issues, and deploy code with confidence.
Additionally, Visual Studio Code extensions are developed and maintained by a community of developers, who are constantly working to improve them. This means that developers can access the latest and most advanced tools to support their work.
In conclusion, extensions are an essential component of the AL programming experience in Visual Studio Code, providing developers with the tools they need to work more efficiently and effectively.
The Top 5 Extensions for AL programming in Visual Studio Code
AZ AL Dev Tools/AL Code Outline
The extension started as the 'AL Code Outline' panel, where different code generators could be run on AL syntax nodes. Over time, new features were added, some of which were no longer related to the code outline panel. The current version of the extension has evolved into a comprehensive collection of AL development tools, and the AL code outline panel is now just one of the many features it offers. As such, it might be appropriate to update the name to better reflect the expanded functionality.
AL objects wizards
Extensions add a new "New AL File Wizard" item to the EXPLORER context menu. It allows running one of these wizards to create a new AL object file:
- Table Wizard
- Table Extension Wizard
- Page Wizard
- Codeunit Wizard
- Interface Wizard
- XmlPort Wizard
- Report Wizard
- Query Wizard
- Enum Wizard
- Enum Extension Wizard
- PermissionSet Wizard
- PermissionSetExtension Wizard
The extension provides code actions to create missing procedures, both within the same object or in another object. In most cases, the return type can be automatically identified, such as when it is used as a parameter in another procedure call. If the procedure name starts with 'On', you have the option to create an Integration Event instead (with the possibility of adding the AppSourceCopPrefix before 'On'). Additionally, it also enables the creation of missing handler functions. For advanced functionality, such as adding OnBefore or OnAfter publishers to the new procedure or placing it in a specific location within the document, the advanced code action is available. This includes demonstrations on how to create procedures, publisher events, and handler functions.
It can do more.
- Add Parameter(s) to the existing procedure
- Create overload of existing procedure
- Extract Procedure
- Extract to Label and more
AL Variable helper
The Al Variable Helper is designed to simplify the variable assignment and improve overall efficiency. It offers quick access to global and local variables, similar to the C/SIDE environment. This tool also provides the ability to sort variables and automatically correct keyword casing.
AL Test Runner
The AL Test Runner extension offers additional capabilities for writing and executing tests for Microsoft Dynamics 365 Business Central. This extension allows you to run tests, debug them, and view code coverage to determine which lines are covered by your tests. It also provides visibility into which tests are calling methods in your code units and tables.
AL Object ID Ninja
Object ID collisions are an inevitable challenge faced by AL development teams. At some point, two developers may assign the same object ID to different objects they create, which can result in manual renumbering work or a broken build. To address this problem, the AL Object ID Ninja extension provides a solution. It utilizes a centralized object ID cache that tracks all object IDs assigned by team members in real time. This ensures that the AL Object ID Ninja will never suggest the same object ID to multiple developers working on the same application simultaneously, preventing any potential collisions.
This video will aid in your understanding.
Visual Studio Code is a powerful and widely used code editor for AL programming. By leveraging the right extensions, developers can streamline their work, increase their productivity, and minimize the chances of error. The five extensions discussed in this article, AL AZ Dev tools, AL code actions, Al Variable Helper, AL Test Runner, and AL Object ID Ninja, are some of the most useful and effective tools available for AL developers. Whether you're looking to debug, run tests, manage variables, avoid object ID collisions, or simply improve your coding experience, these extensions have got you covered.
As a final thought, it's important to emphasize that the right extensions can make a huge difference in your AL development experience. By streamlining common tasks, automating repetitive actions, and providing extra tools for debugging, testing, and management, extensions can save you time, reduce frustration, and help you write better code.
In terms of recommendations, it's a good idea to try out a few different extensions to see which ones work best for your particular workflow and needs. Keep in mind that not all extensions are created equal, and some may not be as well-maintained or feature-rich as others. It's always a good idea to read reviews, check out the documentation, and test out the features before committing to an extension.
Finally, it's worth noting that there are many other extensions available for AL programming, beyond the five discussed in this article. If you're looking to enhance your coding experience or solve a specific development challenge, it's worth exploring the available options to find the best solution for you.
Learn AL programming here https://youtube.com/playlist?list=PL9FfW__Sm3pLgZkPec1oZs_EdjEt88fjn
Will see you in the next post.