반응형
반응형

SQL Server 2008, SQL Server 2012

 

문자(VARCHAR)를 숫자형식(타입)으로 변경하는 방법을 소개한다.

numeric decimal 타입은 소수점 이하 값을 반올림한다.

int, float 타입 보다는 numeric decimal 타입을 사용할 것을 권장하며 그 중에서도

decimal 타입을 사용할 것을 권장 한다고 한다.

 

<숫자형>

int : 정수

float : 부동소수점

numeric : 실수

decimal : 실수 (numeric 동일)

 

numeric( [전체길이(소수점이하포함)], [소수점이하길이] )

decimal( [전체길이(소수점이하포함), [소수점이하길이] )

 

문자 -> 숫자 변환

CONVERT( [숫자형], [] )

 

SELECT CONVERT(int, '12')
           , CONVERT(float, '12.54321')
           , CONVERT(numeric, '12.54321')
           , CONVERT(numeric(6,4), '12.54321')
           , CONVERT(decimal(6,4), '12.54321')

--결과 1 : 12
--결과 2 : 12.54321
--결과 3 : 13
--결과 4 : 12.5432
--결과 5 : 12.5432
반응형
반응형

https://docs.python.org/ko/3/library/turtle.html

 

turtle — Turtle graphics

Source code: Lib/turtle.py Introduction: Turtle graphics is an implementation of the popular geometric drawing tools introduced in Logo, developed by Wally Feurzeig, Seymour Papert and Cynthia Solo...

docs.python.org

turtle — 터틀 그래픽

소스 코드: Lib/turtle.py


소개

Turtle graphics is an implementation of the popular geometric drawing tools introduced in Logo, developed by Wally Feurzeig, Seymour Papert and Cynthia Solomon in 1967.

Turtle star

turtle은 간단한 움직임을 반복하는 프로그램을 사용하여 복잡한 모양을 그릴 수 있습니다.

In Python, turtle graphics provides a representation of a physical “turtle” (a little robot with a pen) that draws on a sheet of paper on the floor.

It’s an effective and well-proven way for learners to encounter programming concepts and interaction with software, as it provides instant, visible feedback. It also provides convenient access to graphical output in general.

Turtle drawing was originally created as an educational tool, to be used by teachers in the classroom. For the programmer who needs to produce some graphical output it can be a way to do that without the overhead of introducing more complex or external libraries into their work.

Tutorial

New users should start here. In this tutorial we’ll explore some of the basics of turtle drawing.

Starting a turtle environment

In a Python shell, import all the objects of the turtle module:

from turtle import *

If you run into a No module named '_tkinter' error, you’ll have to install the Tk interface package on your system.

Basic drawing

Send the turtle forward 100 steps:

forward(100)

You should see (most likely, in a new window on your display) a line drawn by the turtle, heading East. Change the direction of the turtle, so that it turns 120 degrees left (anti-clockwise):

left(120)

Let’s continue by drawing a triangle:

forward(100)
left(120)
forward(100)

Notice how the turtle, represented by an arrow, points in different directions as you steer it.

Experiment with those commands, and also with backward() and right().

펜 제어

Try changing the color - for example, color('blue') - and width of the line - for example, width(3) - and then drawing again.

You can also move the turtle around without drawing, by lifting up the pen: up() before moving. To start drawing again, use down().

The turtle’s position

Send your turtle back to its starting-point (useful if it has disappeared off-screen):

home()

The home position is at the center of the turtle’s screen. If you ever need to know them, get the turtle’s x-y co-ordinates with:

pos()

Home is at (0, 0).

And after a while, it will probably help to clear the window so we can start anew:

clearscreen()

Making algorithmic patterns

Using loops, it’s possible to build up geometric patterns:

for steps in range(100):
    for c in ('blue', 'red', 'green'):
        color(c)
        forward(steps)
        right(30)

- which of course, are limited only by the imagination!

Let’s draw the star shape at the top of this page. We want red lines, filled in with yellow:

color('red')
fillcolor('yellow')

Just as up() and down() determine whether lines will be drawn, filling can be turned on and off:

begin_fill()

Next we’ll create a loop:

while True:
    forward(200)
    left(170)
    if abs(pos()) < 1:
        break

abs(pos()) < 1 is a good way to know when the turtle is back at its home position.

Finally, complete the filling:

end_fill()

(Note that filling only actually takes place when you give the end_fill() command.)

How to…

This section covers some typical turtle use-cases and approaches.

Get started as quickly as possible

One of the joys of turtle graphics is the immediate, visual feedback that’s available from simple commands - it’s an excellent way to introduce children to programming ideas, with a minimum of overhead (not just children, of course).

The turtle module makes this possible by exposing all its basic functionality as functions, available with from turtle import *. The turtle graphics tutorial covers this approach.

It’s worth noting that many of the turtle commands also have even more terse equivalents, such as fd() for forward(). These are especially useful when working with learners for whom typing is not a skill.

You’ll need to have the Tk interface package installed on your system for turtle graphics to work. Be warned that this is not always straightforward, so check this in advance if you’re planning to use turtle graphics with a learner.

Use the turtle module nam

반응형
반응형

Emoji 이모지 : 나무늘보 🦥, 거북이 🐢

 

https://www.emojiall.com/ko

반응형
반응형

크롬에서 인쇄 안됨

 

https://support.google.com/chrome/thread/192581347/%ED%81%AC%EB%A1%AC%EC%97%90%EC%84%9C-%EC%9D%B8%EC%87%84-%EC%95%88%EB%90%A8?hl=ko

 

크롬에서 인쇄 안됨 - Chrome 커뮤니티

 

support.google.com

현재 크롬에서 우클릭후 인쇄를 선택하면 인쇄창은 정상적으로 뜨는데

미리보기가 계속 보이지 않으며 크롬이 멈추는 현상이 있네요
해당건 빠른 조치 부탁드립니다.
윈도우 11 및 버전 108.0.5359.99(공식 빌드) (64비트)에서 확인해봤지만, (구 버전이라면 최신버전으로 업데이트 해보세요) (업데이트 하면 안된다면 주소줄에 chrome://version/ 를 복사해서 붙여 넣기 하면 
버전 확인 가능합니다)
 
 
>>  '쿠키 및 기타 사이트 데이터'와 '캐시된 이미지 또는 파일'  삭제해보세요
- 도움말 주소 :  캐시 및 쿠키 삭제 : https://support.google.com/accounts/answer/32050?hl=ko
 
>>  시크릿 브라우징에서도 인쇄 미리 보기 크롬 멈춤 현상 확인해보세요 (확장 프로그램이 실행되어 있으면 안됩니다)
 
시크릿 브라우징 도움말
 
시크릿 모드에서 정상적으로 미리보기 및 크롬 멈춤이 없다면
설치한 확장 프로그램 문제으로 인해서 생긴것으로 생각합니다
 
>> 윗 방법으로 해결 안된다면
- 윈도우 ->작업관리자 ->CPU/메모리/네트워크 등 사용량 높아지는것 있는지 확인해보세요
- 크롬 -> 오른쪽점 3개 클릭 ->도구더보기 ->작업관리자- 메모리사용/CPU 사용룡량이 많이 올라가는  프로세스가 있는지 확인해보세요
 
(윈도우, 크롬 모두 동시에 작업관리자 실행해주세요)
사용량이 많은 프로세스 확인 후 종료해주세요
종료 후 미리보기 인쇄시 크롬 멈춤이 있는지 확인해보세요
 
>> 사용량이 많은 프로세스 없는 경우라면
 
크롬 베타 버전에서 인쇄 미리 보기 크롬 멈춤 현상이 있는지 확인해보세요
 

Chrome 베타의 새로운 기능 사용해 보기 - Chrome

남들보다 먼저 만나보고 싶으세요? 출시 예정인 Chrome 기능을 미리 사용해 보고, Chrome 브라우저를 개선할 수 있도록 의견을 보내 주세요.

www.google.com

 

 

 

반응형
반응형

How to Implement Deep Linking in Flutter?

Flutter에서 딥링킹을 구현하는 방법은 무엇입니까?

https://medium.com/@dudhatkirtan/how-to-implement-deep-linking-in-flutter-f882b6d834da

 

How to Implement Deep Linking in Flutter?

Overview

medium.com

Overview

Deeplink in Flutter means the ability to open a specific page or perform a specific action within your app by clicking on a link from another app or a web page. It allows users to navigate to specific pages or sections of your app like cart, orders, or any product information, etc. Deeplink in Flutter is a very good feature for all developers and users. Flutter supports deep linking on iOS, Android, and web browsers. Implementing deep linking in Flutter apps enhances the user experience and makes it easier for users to navigate directly to specific sections.

Introduction

Deep linking is a crucial feature in mobile app development that enables smooth navigation to specific sections of different apps. This is very useful for users to access relevant content or perform specific tasks without manually navigating through the app’s screens. This deep linking feature eliminates the need for users to search for or manually locate the desired information within the app. Deep linking is a useful functionality for apps like e-commerce apps, content-driven apps, and social media platforms. By using deep links in Flutter, we can connect with other apps and services making it a good digital ecosystem.

Understanding Deep Links in Flutter

DeepLinks in Flutter means you have URLs or URIs to navigate or perform specific actions within a Flutter app. It directly helps users to access specific screens or content like webpages, screens, and notifications.

There are some concepts and terms that should be known to developers for using deep links in the Flutter applications.

  • URL Scheme -
  • A URL scheme is a unique identifier that identifies your app and allows it to handle specific deep links. It is generally a link to view or see a particular product in an e-commerce app.

Universal Links (iOS) and App Links (Android):

  • These are platform-specific mechanisms that help deep linking to work smoothly between web content and apps. These help in directly opening the content of the app, if the app is installed on the device, or fall back to the web page if the app is not present.

Deep Link Handling :

  • We need to handle the logic for deep lonks in Flutter like capturing the link URL and getting important data such as parameters or query strings. This captured information helps in navigating to a particular screen or performing the actions.

Implement Deep Linking on Android

To use deep links in your Flutter applications, we must have links for redirection that can be instantiated by adding intent filters for the incoming links.

In Android, we have two types of Uni Links, which are approximately the same as the meaning.

Open the DynamicLink section in firebase

  • On a domain that you may customize by adding your own name, company name, trademark, etc., dynamic links are generated. More relevant links that have been customized appear. After displaying this window, click Finish.
  • Now, on the newly opened page, select the “New Dynamic link” button.
  • Click on the new dynamic link button.

App Links -

App Links are the same as deep links, but it does require a specified host, i.e. a hosted file and along with this, the app links only tend to work with the HTTPS scheme.

You need to add the following code to your AndroidManifest file for adding deep links in Flutter. There you have to define an intent-filter and you can change the host with your need.


<!-- This is for App Links -->

<meta-data
            android:name="flutter_deeplinking_enabled"
            android:value="true" />

      <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- Accepts URIs that begin with https://YOUR_HOST -->
        <data
          android:scheme="http"
          android:host="deeplink.example.com" />
            <data android:scheme="https" />
      </intent-filter>

Deep Links -

Deep links are the links in Android, which don’t require a specified host or any other custom scheme.

As discussed above, we have to paste for Deep links and we can change the host and scheme accordingly.



<!--  This is for Deep Links --> 
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 
<!-- Accepts URIs that begin with YOUR_SCHEME://YOUR_HOST --> 
<data android:scheme="blog" android:host="deeplink.example" /> 
</intent-filter>

We can use any of the intent filters in the AndroidManifest.xml file.

The intent filter is a statement in the manifest file that specifies what intent or component will be received on the app side, according to native app implementation. When an action occurs, it can specify additional actions that should be taken on this intent filter.

Data is what the URI format, which primarily resolves to the activity, represents. Also, a data tag must have the android attribute.

A category is mainly the type of intent-filter category. We have defined BROWSABLE in the category, which means that the intent filter can be accessed from the browser, and if not added, it will not be browsed.

Implement Deep Linking on iOS

In iOS also, we have two types of links-

Universal Links :

Universal links are those links that require a specified host or a custom scheme in their app. It works only with the HTTPS scheme. Below is the defined example of a universal link.

For setting up Universal Links we need to follow some steps-

  • Enable Associated Domains in your app’s entitlements.
  • Set up a unique URL identifier for your app.
  • Set up a JSON file on your website that contains information about your app’s URL identifier.

Enable Associated Domains

Creating the entitlements file in Xcode:

  • Open up Xcode by double-clicking on your ios/Runner.xcworkspace file.
  • Go to the Project navigator (Cmd+1) and select the Runner root item at the very top.
  • Select the Runner target and then the Signing & Capabilities tab.
  • Click the + Capability (plus) button to add a new capability.
  • Type “associated domains” and select the item.
  • Double-click the first item in the Domains list and change it from webcredentials.com to: applinks: + your host (ex: my-blogs.com). A file called Runner.entitlements will be created and added to the project.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... other keys -->
<key>com.apple.developer.associated-domains</key>
<array>
  <string>applinks:[YOUR_HOST_HERE]</string>
</array>
<!-- ... other keys -->
</dict>
</plist>

Custom URL:

In Custom URL, we don’t need a host or a custom scheme for our iOS app. An example of a custom URL is defined below. We need to add the host and scheme in the ios/Runner/Info.plist file.


<key>FlutterDeepLinkingEnabled</key>
<true/>
<key>CFBundleURLTypes</key>
<array>
  <dict>
  <key>CFBundleTypeRole</key>
  <string>Editor</string>
  <key>CFBundleURLName</key>
  <string>flutterbooksample.com</string>
  <key>CFBundleURLSchemes</key>
  <array>
  <string>customscheme</string>
  </array>
  </dict>
</array>

Handling Deep Linking in the App

There are two ways your app will receive a link — from a cold start and brought from the background.

ATTENTION -

getInitialLink/getInitialUri should be handled ONLY ONCE in your app’s lifetime, since it is not meant to change throughout your app’s life

Once we are done with the Universal Links set up for our app, we will need to handle the links within our Flutter app. To do this, we need to use the uni_links package. Add this dependency in pubspec.yaml file and pub get it.

uni_links: ^0.5.1

Now, we just need to register a callback to handle incoming deep links.

import 'package:uni_links/uni_links.dart';

void main() {
   // Initialize the deep link handler
   initUniLinks();
   runApp(MyApp());
}

void initUniLinks() async {
   // Ensure that the app is ready to handle deep links
   await getInitialUri();

   // Set up a stream subscription to handle deep links when the app is running
   uriSubscription = uriLinkStream.listen((Uri uri) {
      // Handle the deep link here
      handleDeepLink(uri);
   });
}

void handleDeepLink(Uri uri) {
   // Process the deep link URI and navigate accordingly
   // You can extract parameters or perform specific actions based on the deep link data
}

Advanced Usage

Some additional features enhance the capabilities of deep linking in our Flutter app. These features help in creating more personalized and smooth user experiences, tracking user engagement, optimizing marketing efforts, and improving overall app performance.

Deep Link Analytics -

By implementing Deep Link Analytics, we can track and analyze user engagement with deep links. We can get the data on the number of clicks, conversions, and user behavior after accessing the app through a deep link. With this information, we can get to know about our deep links and can do some optimization if needed.

Deferred Deep Linking -

This helps in handling the scenarios, where the app is not installed on the user’s device on clicking the deep link. In these cases, the user is redirected to the app store to download the app and after installation, the app can open and handle the deep link that triggered the installation.

Dynamic Deep Links -

These help in generating deep links programmatically with dynamic parameters. It means we can generate deep links that include user-specific data, product IDs, or other variables.

Deep Link Attribution -

By using this you can track the source of each deep link and can know which channels are getting more engagement and conversions.

Deferred App Deep Linking -

Some platforms handle deep links when the app is already installed but not in the foreground. But this feature works even if the app is in the background or not currently running.

Example App

Let us understand this through a code. In the AndroidManifest.xml file, I have declared my link like — blog://deeplink.example

We will declare the function main.dart file like this.

import 'package:blog/home.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:uni_links/uni_links.dart';
import 'package:flutter/services.dart' show PlatformException;

void main() {
  initUniLinks();
  runApp(MyApp());

 initUniLinks()async{
  try{
    Uri? initialLink = await getInitialUri();
    print(initialLink);
  } on PlatformException {
    print('platfrom exception unilink');
  }
}
}


class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context){
    return MaterialApp(
      home: HomeScreen(),
    );
  }
}

There is some page that says it as HomeScreen.

import 'package:flutter/material.dart';

class HomeScreen extends StatefulWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  State<HomeScreen> createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  @override
  Widget build(BuildContext context) {

    return const Scaffold(
      body: Center(
        child: Text("Home Screen"),
      ),
    );
  }
}

We will open this app through the deeplink shown below. We will paste the same link(blog://deeplink.example) in the browser and it will show us the APP NAME of that app and will navigate us to the app by clicking on continue

Conclusion

  1. Deep links help in seamless navigation to specific screens from external sources like the web, notifications, etc.
  2. By using deep links, users are more engaged and satisfied. This also helps users to users to access relevant and personalized content.
  3. Deep links provide cross-platform compatibility like for both iOS and Android.
  4. Deep links can be customized with parameters or query strings, allowing for dynamic and personalized experiences based on user-specific data.
  5. We can test and analyze deep links, also we can track user behavior, and optimize our app’s deep linking strategy.
  6. By using deep links in Flutter, we can interact with other apps, services, or platforms. Also, we can collaborate and share the data.
반응형
반응형

 

Top 11 Best VS Code Extensions you Need in 2022!

 

https://letmefail.com/vs-code/top-11-best-vs-code-extensions-you-need-in-2022/#

Top Must Have Extensions For Your Next Project

Visual Studio Code is undoubtedly the most popular code editor today. It is lightweight code editor developed by Microsoft for Windows, Linux and macOS. It includes various features such as syntax highlighting, debugging, intelligent code completion, snippets, embedded Git, code refactoring and many more. VS Code provides better performance and stability compared to other code editors in the market.

Microsoft has huge market place for VS Code where developers able to get third party plugins and extensions, availing VS Code more rich and efficient. Today we are discussing top 11 plugins for VS Code which provides invaluable to the speed and quality to your projects.

In this guide, we’ll explore the following extensions.

  1. Git Lens
  2. Peacock
  3. Tailwind CSS IntelliSense
  4. Bracket Pair Colorizer
  5. ES7+ React/Redux/React-Native snippets
  6. Prettier – Code formatter
  7. Auto Rename Tag
  8. Live Share
  9. Vscode-Icons
  10. TODO Highlight
  11. Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby & more

1. Git Lens

  • Publishers: GitKraken
  • Installs: 12,650,938 installs
  • Version: 11.7.0, Last Updated 11/18/2021 Free

Overview

GitLens supercharges the Git capabilities. GitLens helps you to understand code better. This powerful and feature rich tool helps to quickly look into code changes such as who, why, and when a line or code block was changed. You are able to find code history to gain further insights as to how and why the code evolved. With this tools, you can effortlessly explore the history and evolution of a codebase.

Here are just some of the unique features GitLens provides,

image visualstudio marketplace
  • Authorship code lens showing the most recent commit and number of authors at the top of files and/or on code blocks
  • status bar blame annotation showing the commit and author who last modified the current line
  • Code changes — highlights any local (unpublished) changes or lines changed by the most recent commit
  • Heatmap — shows how recent and often lines were changed, relative to all the other changes in the file and to now (hot vs. cold)

2. Peacock

  • Publishers: Johnpapa
  • Installs: 1,449,402 installs
  • Version: 4.0.0, Last Updated 11/17/2021 Free

Overview

Developers love to open multiple windows of VS Code as they work on more than one projects at the same time. For example, both backend and front end project could be opened in two separate VS Code instances and developers might want move from one project to another. Using this extension developers able to change the color of each project windows, so that it can be quickly identify which project or repo they are working.

image marketplace.visualstudio

Installation and Configuration

  1. Create/Open a VSCode Workspace (Peacock only works in a Workspace)
  2. Press F1 to open the command palette
  3. Type Peacock
  4. Choose Peacock: Change to a favorite color
  5. Choose one of the pre-defined colors and see how it changes your editor

3. Tailwind CSS IntelliSense

  • Publishers: Tailwind Labs
  • Installs: 871,182 installs
  • Version: 0.7.6, Last Updated 01/17/2022 Free

Overview

TailwindCSS is a utility-first CSS framework that has been gaining huge attention among the web developers. If you love Tailwind CSS then this is a must have extension to have. It is a free extension, published by Tailwind Labs (bradlc). This extension provides autocomplete, syntax highlighting, and linting for Tailwind classes. With this extension, developers don’t need to memorize the exact spelling of all the utility classes or to spend the time typing them out.

Linting

Linting highlights errors and potential bugs in both your CSS and your markup. It is the process of checking the source code for Programmatic as well as Stylistic errors.

Autocomplete

Intelligent suggestions for class names, as well as CSS functions and directives.

Installation and Configuration

In order for the extension to activate you must have tailwindcss installed and a Tailwind config file named tailwind.config.js or tailwind.config.cjs in your workspace.


4. Bracket Pair Colorizer

  • Publishers: CoenraadS
  • Installs: 7,279,363 installs
  • Version: 1.0.62, Last Updated 12/13/2021 Free

Overview

As our functions get more complex, it becomes more challenging to keep track of opening and closing brackets such as parentheses and curly braces.

We can use a VS Code extension called Bracket Pair Colorizer to add color to each set of opening and closing brackets, making it easier to identify each set of brackets.

image dev.to

Installation and Configuration

Install Bracket Pair Colorizer latest version from VS code package. After installation if you want customization:

  • Open up Settings by clicking Code > Preferences > Settings.
  • Search colorizer
  • Click Edit in settings.json beneath the bracket-pair-colorizer: Colors.

5. ES7+ React/Redux/React-Native snippets

  • Publishers: dsznajder
  • Installs: 4,344,921 installs
  • Version: 4.1.0, Last Updated 1/20/2022 Free

Overview

If you are a true React JS developer then this is a must have snippet for you, because it simply does just right for you. This plugin provides you JavaScript and React/Redux snippets in ES7 with Babel plugin features for VS Code.

image geeksforgeeks

Here you can see couple of popular PrefixMethod example for React developers, and the full list can be seen from official Github page.

To make a new class component, simply run:

rcc→


rce→


rfce

To make a functional component, simply run:

import React from 'react';

function $1() {
  return <div>$0</div>;
}

export default $1;

Installation and Configuration

Launch Quick Open:

Paste the following command and press Enter:

ext install dsznajder.es7-react-js-snippets


6. Prettier – Code formatter

  • Publishers: Prettier
  • Installs: 18,020,985 installs
  • Version: 9.1.0, Last Updated 1/3/2022 Free

Overview

Developers have different opinions on how to format the code structure so it would be readable. Prettier was created as a means of alleviating this challenge and ensures one unified code format within the development team.

Prettier reformats your JavaScript code consistently so that it make easy to read and understand the code. This plugin helps to format spacing, variable declarations, semi-colons, trailing commas and much more.

You can configure Prettier to format your files when saving them or committing them to a version control system (e.g. Git, SVN). This way, you do not have to worry about your source code formatting and Prettier takes care about it.

image honeypot

Installation and Configuration

Install through VS Code extensions. Search for Prettier - Code formatter

Visual Studio Code Market Place: Prettier – Code formatter

You can also installed in VS Code: Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.

ext install esbenp.prettier-vscode


7. Auto Rename Tag

  • Publishers: Jun Han
  • Installs: 7,766,922 installs
  • Version: 0.1.9, Last Updated 10/12/2021 Free

Overview

Most of the tags in HTML/XML need a corresponding closing tag. When writing large applications which consists of thousands and sometime millions of lines of code, the corresponding closing tags might located at very bottom of the editor, where developers has to scroll hundreds and thousand of lines below. It is tedious if you want to rename the tags.

Auto Rename Tag provides us with a feature that when we change the starting tag it will automatically rename paired HTML/XML tag, same as Visual Studio IDE does, making the renaming of tags easier.

image marketplace

Installation and Configuration

You can simply install the plugin using VS code Extensions. After installation, Add entry into auto-rename-tag.activationOnLanguage to set the languages that the extension will be activated. By default, it is [“*”] and will be activated for all languages.

{
  "auto-rename-tag.activationOnLanguage": ["html", "xml", "php", "javascript"]
}

8. Live Share

  • Publishers: Microsoft
  • Installs: 7,397,050 installs
  • Version: 1.0.5273, Last Updated 1/20/2022 Free

Another great contribution by Microsoft. Live Share enables you to collaboratively edit and debug code with other developers in real time. Using this tools, pair programming has become more convenient, where developers can instantly and securely share the project with other developers.

Common features it includes, debugging sessionsterminal instanceslocalhost web appsvoice calls, and more!

It shares all of their editor context meaning, other developers do not worry about cloning any repos or SDKs installation for code review and debugging process.

Installation and Configuration

  1. If needed, install Visual Studio Code for Windows (7+), macOS (Sierra+), or Linux (details).
  2. Download and install the Visual Studio Live Share extension for Visual Studio Code.
    If you want to integrated voice calling, then install the VS Live Share Extension Pack, which includes both the Live Share and Live Share Audio extensions.
  3. Let Visual Studio Live Share to finish installing dependencies.
  4. Once complete, you’ll see Live Share appear in your status bar. You can now begin collaborating with others immediately!

Quickstart (Joining)

  1. Click the session URL the “host” sent you, which will open it up in a browser. When prompted, allow your browser to launch VS Code
  2. You’ll be asked to sign in the first time you share (using a GitHub or Microsoft account), which allows others to identity you when collaborating.
  3. That’s it! After you join, you’ll be immediately presented with the file that the “host” has open, and can see their cursor and any edits they make. Additionally, you start out “following” the host, so as they scroll or navigate between files, you’ll follow along with them. This makes it easy to orient yourself with the issue/question/task you’re about to start collaborating on.

9. Vscode-Icons

  • Publishers: VSCode Icons Team
  • Installs: 9,823,196 installs
  • Version: 11.8.0, Last Updated 12/4/2021 Free

Overview

Having descriptive icons help you differentiate between files and folders in the project. Having icons in your project make more interesting and attractive. Below diagram depict different between two VS Code tabs with One having icons, the other does not.

image logrocket

Installation and Configuration

To install the extension just execute the following command in the Command Palette of Visual Studio Code:

ext install vscode-icons

Once installed and after reloading vscode, you will be presented with a message to Activate the icons.

In case this doesn’t happen, navigate to:

  • Linux & Windows => File > Preferences > File Icon Theme > VSCode Icons.
  • MacOS => Code > Preferences > File Icon Theme > VSCode Icons.

10. TODO Highlight

  • Publishers: Wayou Liu
  • Installs: 2,270,992 installs
  • Version: 11.8.0, Last Updated 12/4/2021 Free

This plugin lets you to highlight TODO, FIXME and other annotations within your code. This is really a useful plugin for highlighting comments such as NOTE: , TODO: , DEBUG:. The customization settings are also quite extensive making it perfect for the developer, thus leading level up your comments on any project.

image visualstudio marketplace

Installation and Configuration

  • TODO:,FIXME: are built-in keywords.
  • You can override the look by customizing the setting.
  • To customize the keywords and other stuff,
  • command + ,
  • (Windows / Linux: File -> Preferences -> User Settings)
  • open the vscode file settings.json.

11. Tabnine AI Autocomplete for Javascript, Python, Typescript, PHP, Go, Java, Ruby & more

  • Publishers: TabNine
  • Installs: 3,112,708 installs
  • Version: 3.5.16, Last Updated 1/12/2022 Free

Overview

Tabnine is the AI code completion assistant already trusted by millions of developers to amplify coding accuracy and boost productivity. Whether you are a new dev or a seasoned pro, working solo or part of a team, Tabnine AI assistant will suggest team-tailored code completions in most popular coding languages and all your favorite IDEs.

Tabnine is powered by sophisticated machine learning models. It is trained on more than a billion lines of open-source code from GitHub.

Tabnine suggests and predicts code as you write. This powerful extension speed up your development, save you tons of time and cutting your coding time in half. Currently it support almost all the popular programming languages including Python, Javascript, Java and React.

Tabnine’s Team Learning Algorithm studies your team’s code, preferences, and patterns, continuously learning and adapting. Every interaction with a team member amplifies code completion accuracy.

Installation and Configuration

  • Press Cmd+P (mac) or Ctrl+P (Windows) in your Visual Studio Code, type ext install Tabnine.tabnine-vscode and press Enter
  • Click the Reload button in the extensions tab
  • The default behavior of Tabnine uses the Enter key to accept completions. If you would rather use the Enter key to start a new line, go to Settings → Editor: Accept Suggestion On Enter and turn it off.

Conclusion

In this article, we reviewed 11 VS Code extensions that can help to make you a better programmer and boost your productivity. There are many more other cool extensions that we need to explore in future, so If we have time then will definitely look into those extensions in the coming articles.

반응형

+ Recent posts