Plugins in VS Code

Plugins in VS Code

The plugins that I use in VS Code:

  • Speed up development
  • Reduce run-time error (linting)
  • Auto-formatting

Editorconfig 😍

Using space or tabs ? Indentation should 2 instead of 4 ? LF, CR or CRLF ? standard charset ? 

Different developers have their prefer coding styles. Different editor will saving the file in slightly different format according to your platform (Windows, Mac or Linux)

Therefore, editorconfig is here to solve the problem. To maintain consistent coding styles for different file type across multiple platform or developers. 

Prettier

To format JSX code in React and React Native. Eslint to linting React and React Native. This is a popular plugin among web developer to format HTML code.

Flow-language-support 😍

Flow – a JavaScript type checker released by Facebook. Due to the nature of JavaScript – non-strict type language, it make developer life harder when coming to debug JavaScript. 

With the help of Flow , one can greatly reduce the time when debugging JavaScript. Depend on plugin implementation, Flow do help give warning for undefined, null or undeclared variables in JavaScript. 

One of the downside of Flow is very resources consuming (CPU / RAM). So, one might need to consider it only if you have enough resources to run it.

** Latest React Native is migrating from PropTypes to Flow.

React Native Tools

Code hinting for React Native and debugging React Native app integrate with the native debugging function come with VS Code – allow you to set breakpoint or other debugging action. 

Flutter and Dart Code

I don’t need to repeat the introduction here, I bet that all flutter developers know about these plugins, as it is included in Flutter documentation and very helpful to flutter development. 

Docker

To start, stop, debug, configure, syntax highlight, linting your dockerfile or docker-compose. 

Path Intellisense 😍

Module not found ? No such file or directory error ? No problem, this plugin come to rescue you.

No more hassle in looking for the path to specific file. This plugin provided suggestion/autocomplete to file and directory. Plugin author provide some configuration for this plugin too. Feel free to utilize it to maximize your productivity.

Regex Previewer

There is a lot of free tools/website provide help for regex. What if there is a plugin in your editor ? Now, you can validate your regex directly without exist editor. 

REST Client

A plugin for you to test your RESTful API. A great plugin to test RESTful API without leaving editor. 

Cobalt2-theme 😍

Last but not least, this is a theme plugin. I like the cobalt blue color when I  start using Ubuntu. Other than this, there is other theme plugins as well, such as Atom One Dark theme. 

Conclusion

There are tons of the plugins in VS Code marketplace. Feel free to utilize them to solve your problem. So, you can have a sweet dream instead of nightmare at night. 😜

Thanks for reading. Feel free sharing your recommended plugins to me. 

Ethereum and Smart Contract

Ethereum and smart contract

Don’t be pushed around by the fears in your mind. Be led by the dreams in your heart.

Roy T. Bennett

One year ago, I got to know ethereum and smart contract. This post is serve as a documentation and sharing to those who interested develop smart contract in ethereum.  

Ethereum

Ethereum – A decentralized platform where you deploy and execute smart contract.

Download and install ethereum’s protocol – geth.
This is the entry point to ethereum’s main network, test network or private network. By connecting to any network, you’ll join the network as a node.

Smart Contract

A piece of source code that people assume it will replace the middle-man, such as lawyer or agent in the future.

Below is some tools that you need before start developing smart contract:

#1 Ethereum wallet

Download Ethereum wallet from Github repo

  • Ethereum wallet
  • Mist Browser – Browse Dapps or function as Ethereum wallet
  • MetaMask – a browser extension to access Ethereum mainnet or testnet

#2 Programming language

Solidity 

  • A new object-oriented programming language, for creating smart contract in Ethereum
  • Similar to C++ and python (Personal thought, I don’t feel it is similar to JavaScript, despite their website stated)
  • Partial supported fixed point number (Decimal point)
  • VS Code – solidity extension

#3 Framework

Truffle framework's logo
Image via https://truffleframework.com

Truffle

  • Compile, deploy and debug your smart contract
  • Ganache – Provided testing environment for your smart contract (formerly called TestRPC)
  • Drizzle – develop dapp (decentralized application)

#4 Testing smart contract

Using Mocha or any other JavaScript test runner. That can greatly simplify developer work flow and make testing automated.

  • Deploying smart contract depend on mining process, automated testing script can reduce the time waiting for deploy
  • Once deployed, smart contract will stay forever in the network, therefore, test as much as possible before deploy smart contract.

#5 Upgradable smart contract

Splitting smart contract into business logic and data smart contract. Then, developer can upgrade business logic smart contract without touching data part. 

Pro:
  • Easier to tackle smart contract bug in production environment
Con:
  • Higher cost in term of deploying smart contract

#6 Library

OpenZeppelin –  smart contract library that you can use to develop secure smart contract. This library has prepared a lot smart contracts for various use case. Developer just need to include and extends the smart contract with or without modification.

Thanks for reading. Have a nice day. 😀