You can contribute to DevToys app by:
- Report issues and bugs here.
- Submit feature requests here.
- Creating a pull request.
- Internationalization and localization:
- See instructions here.
- Make sure your machine is running on Windows 10 1903 (19h1) or later.
- Install Visual Studio 2022 17.3 or later installed with the following Workloads, or import the vs2022.vsconfig file.
- ASP.NET and web development
- Node.js development
- .NET desktop development
- Install latest Node.js.
- Clone this repository.
- Open a PowerShell command prompt in the root folder of this repository.
- Install Nuke.Build command line tooling with the following command from the command prompt:
dotnet tool install Nuke.GlobalTool --global
- Restore all the dependencies with the following command:
.\init.ps1
- Open
src/DevToys-Windows.sln
with Visual Studio. - In Visual Studio, set
app/dev/platforms/desktop/DevToys.Windows
orapp/dev/platforms/desktop/DevToys.CLI
as startup project. - Now you should be able to build and run DevToys on your machine by pressing
F5
. - Most of the
DevToys.Windows
app runs in a web browser (WebView2). PressF12
to open the web developer tools.
- Make sure your machine is running on macOS 12.0 or later.
- Install Xcode 15.0 or later. Run it at least once and allow it to install the built-in macOS and iOS tooling.
- Visual Studio Code with C# Dev Kit, or JetBrains Rider.
Visual Studio for Mac is not supported because it is a deprecated product and does not support .NET 8.0.
- .NET SDK. This is required to build the app itself.
- .NET 8.0 SDK (version 8.0 (SDK 8.0.100) or later). If you're on a Mac computer with Apple silicon processor, you need to install the Arm64 version of the SDK.
Use
dotnet --version
from the terminal to get the version installed. - Node.js 14.0 or later. This is required to build Monaco Editor.
- If you're using an Mac computer with Apple silicon processor, install Rosetta 2 using the following command in a Terminal:
softwareupdate --install-rosetta
- Clone this repository.
- Open a Terminal
- Install Nuke.Build command line tooling with the following command from the command prompt:
dotnet tool install Nuke.GlobalTool --global
- Restore all the dependencies with the following command:
sh init.sh
- Open
src/DevToys-MacOS.sln
with JetBrains Rider. - Set
app/dev/platforms/desktop/DevToys.MacOS
orapp/dev/platforms/desktop/DevToys.CLI
as startup project. - Now you should be able to build and run DevToys on your machine.
- Open the repository in Visual Studio Code to edit the code.
- In
Run and Debug
, selectDevToys MacOS
orDevToys CLI
and press Start.
Most of the DevToys.MacOS
app runs in a web browser (Safari). In order to access the Safari developer tools with macOS to debug the HTML/CSS/JS of the Blazor app, you might need to follow the following instructions:
- Open desktop Safari.
- Select the Safari > Preferences > Advanced > Show features for web developers in the menu bar checkbox.
- Run the
DevToys.MacOS
app in macOS. - Return to Safari. On the main menu, select Develop > {REMOTE INSPECTION TARGET} > 0.0.0.0, where the {REMOTE INSPECTION TARGET} placeholder is either the devices's plain name (for example, MacBook Pro) or the device's serial number (for example XMVM7VFF10). If multiple entries for 0.0.0.0 are present, select the entry that highlights the BlazorWebView. The BlazorWebView is highlighted in blue in macOS when the correct 0.0.0.0 entry is selected.
- The Web Inspector window appears for the BlazorWebView.
- Make sure your machine has GTK4 and WebKitGTK installed. Distro like Ubuntu generally have it pre-installed.
- Visual Studio Code with C# Dev Kit, or JetBrains Rider.
- .NET SDK. This is required to build the app itself.
- .NET 8.0 SDK (version 8.0 (SDK 8.0.100) or later).
- Unless GTK has been installed through
snap
, we recommend to avoid installing .NET fromsnap
. - We recommend installing .NET from the official script, then the dependencies, and finally set the environment variables.
-
Use
dotnet --version
from the terminal to get the version installed.
- Node.js 14.0 or later. This is required to build Monaco Editor.
- Clone this repository.
- Open a Terminal command prompt in the root folder of this repository.
- Install Nuke.Build command line tooling with the following command from the command prompt:
dotnet tool install Nuke.GlobalTool --global
- Restore all the dependencies with the following command:
bash init.sh
- Open
src/DevToys-Linux.sln
with JetBrains Rider. - Set
app/dev/platforms/desktop/DevToys.Linux
orapp/dev/platforms/desktop/DevToys.CLI
as startup project. - Now you should be able to build and run DevToys on your machine.
- Open the repository in Visual Studio Code to edit the code.
- In
Run and Debug
, selectDevToys Linux
orDevToys CLI
and press Start.
See DevToys.Tools's CONTRIBUTING.md file.
Please use Crowdin to translate DevToys and its tools. Crowdin is a localization management platform that helps individuals to translate a project without having to be familiar with its repository.
- Go on DevToy's Crowdin project.
- Log in or create an account. Join the DevToys project.
- Select the language of your choice in the list of existing supported language and let yourself guided by the website to translate the app.
- If you want to add a new language, please create a new discussion on Crowdin's website or on GitHub. We will be happy to add your language to the list.
- When your translation is done, it will be synchronized with our GitHub repository within 1 hour and create a pull request.