Skip to content

Harry-Ross/vscode-c-snippets

Repository files navigation

C Snippets

This extension provides a simple set of VSCode snippets for the C programming language. Can be found here on the Visual Studio Marketplace.

Visual Studio Marketplace Rating (Stars) Visual Studio Marketplace Installs Visual Studio Marketplace Downloads GitHub package.json version GitHub repo size GitHub

List of snippets:

Snippet Description Snippet Input Snippet Code
Starter Template sst #include <stdio.h>
int main (int argc, char *argv[]) {
   return 0;
}
Starter template with stlib.h libsst #include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[]) {
   return 0;
}
Conditionals and loops
If statement if if (expression) {
   /* code here */
}
Else if statement elif elseif (expression) {
   /* code here */
}
Else statement else else {
   /* code here */
}
For loop for for (int i = 0; i < count; i++) {
   /* code here */
}
While loop while while (expression) {
   /* code here */
}
Do...while loop dowhile do {
   /* code here */
} while (expression)
Header file include guard ig #ifndef {transformed_file_name}
#define {transformed_file_name}

// Code for header body

#endif {transformed_file_name}
Linked lists
Linked list template clist typedef struct _node * Link;
typedef struct _node node;
struct _node {
   int value;
   Link next;
};
Functions
Create int function intfunc int func_name () {
   int x;
   return x;
}
Create float function flfunc float func_name () {
   float x;
   return x;
}
Create string function strfunc char[] func_name () {
   char[] x = {};
   return x;
}
Create long function longfunc long func_name () {
   long x;
   return x;
}
Create definition for virtual table vtdef typedef struct {ClassName}{
struct {ClassNameVT}* vt;
};

typedef struct {ClassNameVT}
{
// Virtual Table Function definitions
} ${virtualTable Name};

int {ClassNameInit}(struct {ClassName} *self);
int {ClassNameDestroy}(struct {ClassName} **self);
Create function for virtual table vtfunc {ReturnType} (*{FunctionName})(struct {ClassName} *self)
Print statements
Print variable of type float (2 decimal places) pflo printf("var_name :>> %.2f\n", var_name);
Print variable of type int pint printf("var_name :>> %d\n", var_name);
Print variable of type char pcha printf("var_name :>> %c\n", var_name);
Print variable of type pointer ppoint printf("var_name :>> %p\n", (void *) var_name);
Print variable of type size_t psiz printf("var_name :>> %zu\n", var_name);
Memory Allocation
Allocate memory using calloc cal {type} ptr = ({type})calloc(, sizeof({type}));
if (ptr == NULL) {
   printf("Memory allocation failed!\n");
   exit(0);
}
free(ptr);

If you would like to support development of the extension donate Bitcoin here: 1BnrjF49owBx7UjMaJt5crZw5DegUYG3mb

About

A simple extension for Visual Studio Code snippets for the C programming language.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published