Code Monkey home page Code Monkey logo

proj-maker-cpp-vscode-premake's Introduction

C++ Project Creator

This is a simple tool for creating C++ projects with vscode and premake, it's purpose is to ease the creation of vscode json files for tasks and launch configurations.

How to use

You must have premake5 configured in the command line, download it from here https://premake.github.io/ and add the directory where you extracted the .exe file to your PATH variable. If you speak portuguese you can follow this blog post https://crackthagamedev.com/posts/setup-cpp-vscode-premake, inside the post search for Baixar e instalar o Premake.

You must also have Build Tools for Visual Studio installed, it comes with Visual Studio or you can download it independently from the microsoft website, again if you speak portuguese you can follow this blog post https://crackthagamedev.com/posts/setup-cpp-vscode-premake as it explains how the project generated by this tool is configured.

To execute this tool download the source code or clone this repository, I recommend you to install the program with npm install -g ., this will make it available anywhere in your computer from the command line, it'll attend by the name cppproj. The second option is to run npm start. After running the tool, you will be prompted to enter the project location, workspace name, project name, etc. the tool will create the project location you entered, add a .vscode folder and populate it with a tasks.json and a launch.json files, it will also add a premake5.lua file with the projects configurations and add a .bat file with instructions to open vscode within the Developer Command Prompt for Vs 2019.

Tasks list

Tasks Action
Premake5Build Invoke premake5 vs2019 to build the Visual Studio Project
VS Build Debug WS Build the visual Studio solution in debug mode
Vs Build Release WS Build the visual Studio solution in release mode
Vs Build Debug <ProjectName> Build the project in debug mode
Vs Build Release <ProjectName> Build the project in release mode
Run Release <ProjectName> Run the project in release mode, only for projects that generates .exe files(ConsoleApp/WindowedApp)

Launch Configurations

It creates one launch configuration named Run Debug <ProjectName> for each project that generates a .exe file(ConsoleApp/WindowedApp), stopAtEntry will be true

Contribute

Feel free to contribute to the project or to fork it, I may add some code to it as I feel the need.

proj-maker-cpp-vscode-premake's People

Contributors

shoxsz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.