The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.
Stage | Create |
Content Last Reviewed | 2024-01-03 |
Thanks for visiting this direction page on Editor Extensions. This page belongs to the Editor Extensions group of the Create stage and is maintained by Dasha Adushkina (E-Mail).
This direction is constantly evolving and everyone can contribute:
Code Editors and IDEs are one of the most important tools in a software engineers toolkit because the majority of their work is writing and working with code. They're customized with extensions for programming languages, coding standards and frameworks, and more for the type of work being done. They're also optimized for connecting to development runtime environments and services engineers need to do their work.
Engineers working on contributions often collaborate with product managers, designers and other engineers to complete their work. Initially this collaboration takes place in issues where engineers can ask clarifying questions, review designs and discuss solutions. When engineers begin to work on these contributions, issues serve as the reference document and requirements to complete their task.
Once those contributions have been worked engineers contribute those via a Merge Request. Merge Requests are a collaborative process that involves getting feedback on the work completed and then responding to that feedback through additional revisions and comments.
Configuration files are also common to software development and the tools of the DevOps life cycle. In GitLab there are files like .gitlab-ci.yml
and CODEOWNERS
which have specific syntaxes and parameters to properly configure. Making changes to these files often involves having documentation available and then validating content through commits or tools outside the editor.
GitLab is an effective tool which supports teams collaborating and building software together. However that collaboration is only available inside the GitLab application.
Developers, on the other hand, spend the majority of their time working locally implementing work outlined in issues, responding to merge request feedback and testing/debugging their applications. These tasks are the core of the developer experience, and GitLab should support developers closer to where they're doing their meaningful work to enable them to be more efficient in the delivery of that work.
In Progress: JetBrains plugin for GitLab Duo
JetBrains IDEs are a popular choice for many developers. GitLab is focused on delivering AI-assisted Code Suggestions to accelerate developer productivity. Adding support for JetBrains and then continuing to enhance our offering with other AI features will allow us to expand our reach.
In Progress: Visual Studio extension for Code Suggestions
Visual Studio is a popular choice for teams working with .NET, C#, and C++ on Windows. Providing support for Code Suggestions in Visual Studio allows us to build a foundation to support developers on these platforms.
In Progress: Neovim plugin for Code Suggestions
Neovim is a hyperextensible Vim-based text editor for developers. We're bringing Code Suggestions to this platform because not everyone wants to use a GUI based editor.
Once we've completed efforts to bring GitLab extensions to JetBrains, Visual Studio, and Neovim in support of Code Suggestions, we'll begin looking at other opportunities to expand the capabilities of the extensions in to the rest of the GitLab DevSecOps platform. Here are some areas we'll be looking to explore:
Real-time SAST scanning: Partnering with the static analysis group we'll work to extend the work they're targeting for SAST scanning to reach more users across IDEs.
Extending pipleine editor to IDEs: Many features of the pipeline editor, like config validation, merged yaml, and variable autocomplete are already available in VS Code. We'll look to extend to the rest of the pipeline editor features and bring those experiences to other IDEs.
The Editor Extensions category is primarily focused on supporting Code Suggestions:
The scope of this category does not extend beyond extension support and foundations for:
The GitLab CLI remains it's own category.
We're also not actively exploring support for any additional IDEs at this time. If you'd like to let us know what IDEs you want to see supported, please add a comment to this epic.