# \[ANN\] PackageMaker - GUI for PkgTemplates

**URL:** <https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197>\
**Category:** Package Announcements\
**Tags:** package, announcement, pkgtemplates, gui\
**Created:** [December 26, 2024, 10:05pm UTC](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197 "2024-12-26T22:05:57Z")\
**Posts on this page:** 6\
**Page:** 2

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [January 8, 2025, 7:08pm UTC](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197/21 "2025-01-08T19:08:31Z")

</div>

Somewhat related to easy creation of new project assuming a large fraction of Julia users already use VScode which is a rather complex GUI :

I wonder what is the state of

> <https://github.com/julia-vscode/julia-vscode/pull/2799>
>
> This adds a \`Julia: Create New Project\` command that takes you through a series …of prompts to get the fields needed to create a new project using PkgTemplates. This is a similar experience to calling \`PkgTemplates.Template(interactive=true)\`.
> 
> Any suggestions are appreciated!
> 
> Ref https://github.com/julia-vscode/julia-vscode/issues/2447
> 
> Here's what running the command looks like
> 
> https://user-images.githubusercontent.com/6343165/218750688-b6362f46-58cb-41bc-a169-8ed1caf2213d.mov
> 
> Alternatively, you can choose to define the details of the template yourself
> 
> https://user-images.githubusercontent.com/6343165/218751964-5578178a-8d76-48a7-a9d7-c61bb81716f4.mov
> 
> Then after a bit of thinking PkgTemplates generates the package
> 
> https://user-images.githubusercontent.com/6343165/218750713-81edec91-56e9-4155-9f27-aef4da4c065d.mov

related to this thread

> [@Single click julia project creation with vscode?](https://discourse.julialang.org/t/single-click-julia-project-creation-with-vscode/94611):
>
> Hi, With other languages, most IDEs provide tools/buttons to create well structured projects. In julia, I use PkgSkeleton.jl or PkgTemplates.jl to create project, but I think that this process could be more accessible (especially for beginner) with an IDE (vscode) support. Would you consider such a feature to be useful and possible to implement ?

?

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [January 8, 2025, 8:48pm UTC](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197/22 "2025-01-08T20:48:20Z")

</div>

Well, what I liked less about PkgTemplates.jl, and which was my motivation: Though with PkgTemplates.jl there is kind of interactivity, it is one option at a time in a quite complex system of options and sub-options. After you made a click, there is (I think) no way back. The videos under “New project creation command” look like it is essentially the same process, except the input is on the top on the screen and not on the bottom. Well, there is file selection dialog.

With PackageMaker.jl, you get a GUI where you can evaluate (and re-evaluate) all options, click onto embedded links if need more information, and only after you are sure, you finally click onto “Submit” button.

Furthermore, PackageMaker.jl is already here, and it wouldn’t absorb any of the (scarce) resources of the maintainers of VSCode. And still further, while PackageMaker.jl can be used from VSCode, having VSCode installed on the computer is not a pre-requisite to use it ~~(bar the current issue on Ubuntu)~~.

Admittedly opening PackageMaker.jl GUI in a VSCode pane instead of an independent window would be nice and must be doable, but I do not think currently it is worth the effort.

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [January 9, 2025, 7:44am UTC](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197/23 "2025-01-09T07:44:52Z")

</div>

I like PackageMaker.jl especially because it helps me advocating the use of Julia to new users : “see how it is easy to create a new package…”.

> [@Eben60](#):
>
> Admittedly opening [PackageMaker.jl](https://juliaregistries.github.io/General/packages/redirect_to_repo/PackageMaker) GUI in a VSCode pane instead of an independent window would be nice and must be doable, but I do not think currently it is worth the effort

Since I always start these Julia introductions with two steps :

- Step 1 : install julia (up)
- Step 2 : Install VSCode (extension)

it would be great if the PackageMaker.jl (functionality) could be already available at Step 2.

It is indeed not a big deal for my personal use, but I think that every improvements on the smoothness of first steps are useful for Julia’s adoption : Julia is cool and productive !

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [January 9, 2025, 10:07am UTC](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197/24 "2025-01-09T10:07:17Z")

</div>

@LaurentPlagne, first, thank you for your nice words. However let me say it directly: Integrating PackageMaker.jl into VSCode is at best at the very bottom of my list of priorities. It is supposedly (supposedly, as I have no idea how implement it - do you?) quite a lot of programming to save a few keystrokes for a fraction of potential users.

May I [shamelessly](https://discourse.julialang.org/t/ann-shareadd-jl-making-easy-to-import-packages-from-multiple-environments/121261) suggest the following procedure for Julia introductions:

- install juliaup
- install VSCode (extension)
- set up global git user names & mail (this part would be nice and not that difficult to integrate into PackageMaker.jl )
- install Revise.jl & ShareAdd.jl into the main environment
- `using ShareAdd; @usingany PackageMaker`, select the default name for the new shared env, which would be `@PackageMaker`
- on a slow computer, you now get a couple of minutes to make an espresso, while some 150 packages gets precompiled 🙂
- create a package “for local use”
- start coding (and testing) your functions inside the newly created package
- voila!

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [March 28, 2025, 11:48am UTC](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197/25 "2025-03-28T11:48:04Z")

</div>

Registered PackageMaker.jl `v0.1.14` . Among the new features:

- Self-updating the package.
- Some minimal input validation.
- Saving/recalling custom configurations.

The package is now mostly done feature-wise.

---

<div class="post-metadata">

**Author:** ![Eben60](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/eben60/32/13475_2.png) [@Eben60](https://discourse.julialang.org/u/Eben60)\
**Post date:** [April 7, 2025, 12:35pm UTC](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197/26 "2025-04-07T12:35:41Z")

</div>

PackageMaker.jl got improved documentation, and `v1.0.0` is registered. The package now considered “mostly completed”.

[Previous page](https://discourse.julialang.org/t/ann-packagemaker-gui-for-pkgtemplates/124197.md?page=1)
