TLDR: VSCode users can type `./mach ide vscode` in order to get code
completion, reference navigation, refactoring, reformatting, etc.

Hello all,

VSCode <https://github.com/microsoft/vscode> is a multi-platform
open-source programming editor developed by Microsoft and volunteers. It is
partly built using source-code components but also uses proprietary
Microsoft code. It has support for many programming languages using
extensions.
In the past we had a minimal
<https://searchfox.org/mozilla-central/source/.vscode> configuration setup
in the tree that reflected the basic extensions
<https://searchfox.org/mozilla-central/source/.vscode/extensions.json> that
should be used and also some tasks
<https://searchfox.org/mozilla-central/source/.vscode/tasks.json> that can
be triggered from the editor.

Now, we significantly improved that!

Starting with Bug 1656740
<https://bugzilla.mozilla.org/show_bug.cgi?id=1656740>, we’ve added
comprehensive support for C/C++with the help of the `clangd` extension for
Firefox development. Leveraging the `clang` toolchain compiler we now have
support in the IDE for:

   1.

   Syntax highlighting;
   2.

   IntelliSense with comprehensive code completion and suggestion;



   1.

   Go-to definition and Go-to declaration;
   2.

   Find all references
   3.

   Open type hierarchy;
   4.

   Rename symbol, all usages of the symbol will be renamed, including
   declaration, definition and references;
   5.

   Code formatting, based on `clang-format` that respects our coding
   standard using the `.clang-format` and `.clang-format-ignore` files. Format
   can be performed on an entire file or on a code selection;
   6.

   Inline parsing errors with limited auto-fix hints;


   1.

   Basic static-code analysis using `clang-tidy` and our list of enabled
   checkers. (This is still in progress not all checkers are supported by
   `clangd`);


This new eco-system for code development is supported on all platforms that
we officially support.

In order to have this setup, download and install `VSCode` and run the
following command:

./mach ide vscode

Please file any issues that you might encounter using this setup please as
blocking bugs to Bug 1662709
<https://bugzilla.mozilla.org/show_bug.cgi?id=1662709>.

I would also like to address many thanks to Jonathan Watt and Botond Ballo,
without their active support this would not have been made possible.

Many thanks,

Andi, on behalf of the team
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to