Careers > Software Engineer - Development of enhancements to the VS Code integration plugin
Last modified 11/28/2022 9:48:53 AM

Software Engineer - Development of enhancements to the VS Code integration plugin

Internship
AdaCore
Bristol, UK
Bac +4/5

Everything we do at AdaCore is centered around helping developers build the safest, most secure open-source software. 

For over 25 years, we've worked with global leaders across avionics, aerospace and defense industries, building tools and providing services that ease the complex and difficult process of developing high-integrity software. As the need for truly secure and reliable applications expands into industries such as automotive, medical, energy, and IOT, we’re advancing our time-tested technologies to bring expertise and services to help a whole new generation of developers.

Our 150 experts worldwide in the US (New York), France (Paris, Toulouse, Grenoble and Vannes), the UK, Estonia and Germany all play a role in developing bleeding edge technologies to meet the highest grade of software development.

Joining AdaCore is about joining a culture of innovation, openness, collaboration and dependability, which defines how we work together, with our customers and partners.

Context:

Currently, the most powerful IDE for software development using Ada is GNAT Studio [1] and the StackOverflow 2021 Developer Survey [2] shows that, for overall software development, the most popular IDE is Visual Studio Code [3]. The Ada development experience in Visual Studio Code can be greatly improved by using the Ada Language Server extension [4], however, it still lacks useful features compared to GNAT Studio. AdaCore has seen an adoption of Visual Studio Code amongst the Ada community as well as its customer, therefore, it is important for us to provide a software development experience on par with GNAT Studio.

Internship goal:

  • This is a software engineering internship, with the goal to make contributions in the github project hosting the Ada Language server [4]

  • This covers all aspects of software development, including participation in software design discussions, implementation, and elaboration of tests.

  • Examples of work include:

    • Integration of multiple GNAT utilities [6]: gnatmetric, gnatstub, gnattest, gnatdoc, gnatcheck

    • Development of a Project Tree View - a view where the user can explore its project directory as well as its project dependencies.

    • Scenario View - a view where the user can define and edit its project build mode and scenario variables.

    • Creation of easy to use tasks (and improve the ones already implemented) to:

      • Build/Clean/Run/Debug a target (or a specific target when a project has more than one)

    • The exact tasks to be accomplished will be adjusted according to the development roadmap and time available in the internship.

Skills required or Nice to have:

  • Experience with one high-level programming language (ideally TypeScript)

  • Ease with UNIX command-line shell and git

  • Experience (academic or professional) in compilers, user interfaces or at the very least a strong interest in the topic.

Timeframe:

During 2023 - At least 4 months

References:

[1] GNATStudio https://www.adacore.com/gnatpro/toolsuite/gnatstudio

[2] StackOverflow 2021 Developer Survey https://insights.stackoverflow.com/survey/2021#collaboration-tools

[3] VSCode https://code.visualstudio.com/

[4] Ada Language Server https://github.com/AdaCore/ada_language_server

[5] VSCode API https://code.visualstudio.com/api/references/vscode-api

[6] GNAT utilities https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/gnat_utility_programs.html

 

 

Powered by Hello Talent