Skip to content

Developer

Yu Chieh Victor Lin edited this page Oct 14, 2024 · 1 revision

Developer

If you want to develop a feature or fix a bug for this project, you'll need to follow the following steps to ensure the project will compile.

Prerequisites

  • Visual Studio (VS) 2022 Community Edition (or higher)
    • .NET desktop development needs to be installed
    • As of v0.85.1, the following components are required
      • .NET 8.0 Runtime
      • Windows 10 SDK and/or Windows 11 SDK

VS Solution Setup

To get this repo working with PowerToys:

  1. Clone or download PowerToys to your local disk
    git clone https://github.com/microsoft/PowerToys.git
  2. Get submodules for PowerToys
    cd .\PowerToys
    git submodule update --init --recursive
  3. Fork this repo
  4. Clone or download the fork into your local PowerToys repo (PowerToys\src\modules\launcher\Plugins)
    cd .\src\modules\launcher\Plugins
    git clone https://github.com/lin-ycv/EverythingPowerToys.git --depth 1
  5. In VS, add local clone as an existing project to PowerToy's Plugins folder (modules\launcher\Plugins)
  6. Develop and compile as needed

To pull updates from PowerToys:

  1. discard changes
    git restore PowerToys.sln
  2. pull updates
    git pull
  3. add existing project (step 5)

Build

Use Ctrl+B to build only EPT and its references, you do not need to build the whole PT solution.

The Post Build event includes commands that calls NSIS to build a exe installer. If you don't have NSIS installed, you can remove the folowing commands in the post build so you don't get any errors.

C:\Program Files (x86)\NSIS\makensis" /Dver=$(Version) /Ddirect=$(TargetDir) /Dplatform=$(Platform) .\NSIS\exeCreator.nsi
certUtil -hashfile .\bin\EverythingPT-$(Version)-$(Platform).zip SHA256 >> .\bin\$(Platform)_CHECKSUM.txt
certUtil -hashfile .\bin\EverythingPT-$(Version)-$(Platform).exe SHA256 >> .\bin\$(Platform)_CHECKSUM.txt

Contributor

Translator

With VS

This is the recommended method, as VS Resource Explorer makes it easy to cross-compare the value you are editing. However, it does require you to install VS.

  1. Clone just EPT repo
  2. Skip step 2 if you're editing a pre-existing translation
    • Duplicate Resources.resx in Properties folder and rename to Resource.(Locale code).resx
      • ie: Resources.zh-tw.resx
      • Locale code is made up of 2 parts ISO 639-1 language code and ISO 3166-1 country code
  3. Open Community.PowerToys.Run.Plugin.Everything.csproj in VS
  4. Navigate to Resource Explorer and edit the values as needed.
  5. Create a PR

Without VS

This method does not require you to install any additional software, as you can open resx files in notepad.

    • If creating a new translation:
      • Download the English Resource file and rename to Resource.(Locale code).resx
        • ie: Resources.zh-tw.resx
        • Locale code is made up of 2 parts ISO 639-1 language code and ISO 3166-1 country code
    • If editing a pre-existing translation:
  1. Edit the <value> field
    • If you don't have a translation for a certain value, or if you wish to use the English text, you can simply delete the data tag for that value
  2. Create a PR

Documentation

If there's any issues with any documentations, please open a Discussion, or create a PR with the appropriate fixes

Clone this wiki locally