Slides for the webinar I took on “Quick and Easy way to get started with Git & GitHub”

Below are the slides I used for the session I took for Coimbatore .NET User Group last week.

 

 

Use this link for the full text article that I wrote as kinda companion for the session.

Bookmark / Share

Quick and easy way to get started with Git & GitHub - a step-by-step guide

(This is an accompanying text article for the session I'll be taking at Coimbatore .NET User Group this weekend)

In this fast paced post I will write about the simplest and quickest set of steps needed for getting started in Git & GitHub. Ultimately the aim of the post is to give a good essential idea of Git & GitHub ignoring whatever IMHO is not needed for anyone who is trying to get started, my aim is to make sure the reader could read & understand this post in 20 minutes or less. Also GitHub for windows has made things easier and I thought of spreading the word about it from my side.

In this post:

  • I will talk a little about the concepts of Git & GitHub
  • How to use “GitHub for Windows” and setup a GitHub based distributed source control system(if you are a non windows user, then still you’ll be able to learn the way Git & GitHub works from this post)
  • How Open Source projects on GitHub works

Before proceeding, I would like to tell you that using Git via command line is not so easy and has at least a tiny learning curve, but it is powerful. For developers who have used other popular source control systems this maybe bit difficult, so I thought of writing this blog post showing how simple it is to use GitHub windows application and simplify Git based SCM.

What is Git?

Git is a Distributed Revision Control System. It is developed by Linus Torvalds, creator of Linux. Git is used by many popular open source projects, I came to know because of many .NET open source projects, so it is not a Non-.NET/Microsoft kind of thing. Git’s performance is very high and it is its Unique Selling  Point(but it’s free Winking smile).

Git is primarily a CUI based system but there are tools to do GUI based interaction.

Why Distributed?

In short..

  • Repository is present in all clients where it is cloned, so server crash isn’t a problem
  • Each clone is a full repository, it contains all the code and version history
  • Provides several new workflows where it gets easier to isolate each user’s changes and easy to integrate changes of all the users, more info on various distributed workflows is here.

More about distributed version control systems here.

The Git & GitHub Jargon

Git’s workflow may feel strange or uncomfortable initially for many developers who got used to working in other version control systems, for instance, there is no word called check-in or check-out in Git.

So I would suggest that you understand the below terms before trying to use Git/GitHub to avoid confusion.

  • repo – repository – where your files and version history of them are stored
  • pull – pulling code from a repository(public/online) to your repository
  • push – pushing your changes to a repository, this is not the equivalent of check in, but it is Step 1 of the git’s way of check in
  • commit – commit the pushed changes, second & last step of the git’s way of check in
  • staged changes – changes that are pushed to a repository but not yet committed
  • clone – create a copy of the whole repository along with version history etc, brings the whole version control system’s stuff to this clone, this is a general term in several other version control systems
  • fork – forking creates a copy of a repository and provides a way for you to isolate your changes, there are provisions to merge your changes later into the actual repository(main repository/source repository)
  • pull request – you send a pull request so that the main repository admin will know that there are changes that you have done in your fork(your version of the repository) and you would like the admin to pull your changes and merge them with the main repository if she/he thinks it is fine
  • pull vs pull-request – pull is generally used when you pull files from a repository, but pull request comes into picture only if your workflow involves forking
  • merge pull-request to main repo – as said earlier, this means that the admin of the actual repository from which you forked will receive a pull request and will review the changed/added files and then merge them with the actual repository

Creating Repositories

After you create an account in GitHub and sign in, you will have a button named New repository, click it to create a new repository on GitHub server.

image

 

Provide necessary inputs as prompted.

image

(click to enlarge)

Setting up your system to work with GitHub

Before proceeding, go to windows.github.com and download and install the GitHub windows application.

Note that, up to my analysis, the GitHub for Windows application can be used with any git setup not just GitHub.

For easy reading I will use “GitHub” instead of “Git/GitHub” henceforth.

image

(click to enlarge)

In GitHub.com…

Once you create a repository as shown earlier, below screen will be shown.

image

(click to enlarge)

Note that it has the URL of your public online repository and a button named “Set up in Desktop” and help information on how to use command line interface to setup your machine to point to this repository. The next time you want to clone a repository, you go to its main URL and click the “Clone in Desktop” button as shown below.

ScreenHunter_170 Sep. 30 00.08 - Copy

(click to enlarge)

Now you can click “Set up in Desktop”, you will get the below prompt..

(Internet Explorer)

ScreenHunter_159 Sep. 20 02.14

 

(Chrome)

image

(click to enlarge)

This button was not working in Firefox, I don’t know why.

Once you click Launch Application or Allow based on the browser you are using, GitHub windows application will be launched for you and if you have launched the application some time before and logged in to it then automatically the repo will be cloned, but I will show you the other way of what happens for the first time, when you have never used GitHub for windows.

Using GitHub for Windows

After the GitHub windows application is launched you should login to it with your GitHub credentials

image

(click to enlarge)

After logging in, below screen will be shown to configure the user information, user information is used for your commits as explained in the screen.

image

 

After initial setup, GitHub for Windows shows the below screen, which shows the local and github’s online repositories linked to this user.

image

(click to enlarge)

GitHub for Windows’ Options screen lets you configure various settings as shown below, you might want to take a look at this before proceeding.

image

(click to enlarge)

To access your GitHub repositories select github on the left section of the screen, which lists the online repositories you have. You can clone a particular repository as shown below, it will be cloned to the directory configured in the Options screen shown above.

image

(click to enlarge)

You can open the files’ location in explorer as shown below.

image

(click to enlarge)

 

I have created couple of files in this location as shown below. Now let’s see how we can move these files to the online GitHub repository, I mean Git’s way of checking-in.

image

 

GitHub windows application automatically detects that the repository is changed and shows the below screen. Now you can type a commit message and click commit as shown below.

image

(click to enlarge)

 

Next, you can see that the commit you just made is not yet published(pushed) to the GitHub server, click the publish button to publish the changes.

image

(click to enlarge)

 

Files are now pushed to GitHub server as shown below.

image

(click to enlarge)

 

Publish & Sync Vs. Push & Pull

I noticed that first time if files are added to a repository the above shown publish button is displayed. If the files are modified later in your local repository or if someone else modifies the files and commits them to the server, meaning whenever your local repo changes or whenever server repo changes, then the publish button becomes a sync button.

So, the sync button does two things..

  • Pushes changes you made in your local repository to github server
  • Pulls changes committed to the server by other users to your local repo

image

(click to enlarge)

 

Two Most Popular Collaborative Development Workflows in GitHub

Even though GitHub supports several workflows as discussed here. IMHO, I think there are two most popular workflows.

  1. General Collaborative Development – Single shared repository
  2. Collaborative Development in Public Repos/Open Source projects – involving Fork & Pull Requests

Workflow 1 - General Collaborative Development

A shared single repository with access permissions for users is setup, users can pull and push changes, we just saw above how you change your local repo and push(sync) with the online repo.

Workflow 2 - Collaborative Development in Public repos/Open Source projects – involving Fork & Pull Requests

In many open source projects people collaborate using this workflow in GitHub. This is not as complex as it sounds, just quickly review the jargon section again, now you should be clear about what is Fork and Pull request.

In general forking provides below benefits:

– Makes your own repo called a fork

– Provides freedom to change your version of the repo

– Isolated from the main repo

The below figure explains what happens in this workflow.

1. You Fork the Main repo, this creates your version of Main repo’s files; your version of the repository, your Fork.

2. You Make changes – Add/modify files and commit these changes

3. You send Pull request to the main repo which goes to the main repo admin

4. Main Repo admin reviews the code changes and accepts & merges your pull request

(sorry for the site name in the middle of the image, it is NOT for promo purposes, but just an attempt to stop plagiarism)

Hide/Show animation

Fork-Pull-RequestStill6

 

Conclusion

In this post, I gave an introduction to Git and how distributed SCM could help you. Then we saw the jargons in Git & GitHub and we setup our system to work with GitHub and then created a repository in GitHub.com. Then, we used the GitHub windows application and cloned the GitHub repository and worked with it. Lastly we saw the collaborative development workflows and most importantly how open source projects work in GitHub.

I hope I have given enough information for you to get started in Git & GitHub.

Happy Coding!

Bookmark / Share

ASP.NET MVC security best practice -- Add Authorize attribute for controller instead of individual actions when appropriate

Recently I was going through an ASP.NET MVC web application's source and noted that in some of the Controllers all of its Actions required authorization to access them. So Authorize attribute was added to all of the actions in the controller, as shown below .

    public class AdminSettingsController : Controller
    {
        //
        // GET: /AdminSettings/

        [Authorize]
        public ActionResult Index()
        {
            return View();
        }

        //
        // GET: /AdminSettings/Details/5

        [Authorize]
        public ActionResult Details(int id)
        {
            return View();
        }

        //
        // GET: /AdminSettings/Create

        [Authorize]
        public ActionResult Create()
        {
            return View();
        }


        //
        // GET: /AdminSettings/Edit/5

        [Authorize]
        public ActionResult Edit(int id)
        {
            return View();
        }


        //
        // GET: /AdminSettings/Delete/5

        [Authorize]
        public ActionResult Delete(int id)
        {
            return View();
        }

    }

But if all of the controller's actions need authorization then you can add [Authorize] attribute to the entire Controller itself. Doing this would avoid room for errors, as you may miss to add the Authorize attribute to individual actions and that could become a security vulnerability.

Below you can see I have removed the Authorize attribute from individual actions.

    [Authorize]
    public class AdminSettingsController : Controller
    {
        //
        // GET: /AdminSettings/

        public ActionResult Index()
        {
            return View();
        }

        //
        // GET: /AdminSettings/Details/5

        public ActionResult Details(int id)
        {
            return View();
        }

        //
        // GET: /AdminSettings/Create

        public ActionResult Create()
        {
            return View();
        }


        //
        // GET: /AdminSettings/Edit/5

        public ActionResult Edit(int id)
        {
            return View();
        }


        //
        // GET: /AdminSettings/Delete/5

        public ActionResult Delete(int id)
        {
            return View();
        }

    }

Also note that, if forms authentication is configured then if you add Authorize attribute to an action or controller then MVC will redirect the user to the login page, which is great.

Bookmark / Share

Visual Studio 2013 New Features of the IDE

Update: I posted this article on Aug 10, 2013 on CodeProject and in this blog around the release of Visual Studio 2013 preview version(all the below mentioned features are still present in the final release). Even though I wrote this post for documenting and sharing the visual studio 2013 new features that I identified when I started exploring Visual Studio 2013, I recently noted many people, even Microsoft folks have talked about the new features in various Microsoft sites, I recommend everyone to check them out too (posting all those links will just make people lazy :-)).

Visual Studio 2013 Preview has been launched recently. Like I did with Visual Studio 2010 and Visual Studio 2012, I am writing this with several purposes in mind; I thought of documenting these cool new features of Visual Studio 2013 that I found, so that it will serve as an index for me and I could easily refer to this in talks I may give, or, when sharing these with friends.

(Note that one of the ultimate purposes of blogging/posting articles for me is that I can easily recall stuff when needed if I forget, that’s the reason even many guys who are greater than me blog :) it is kind of documenting your learning/taking notes, consolidating and keeping it in one page as a gist, and it may turn out to be useful to others. And, this will help people who are not privileged enough to install and checkout Visual Studio 2013 preview due to some reasons, like, if they don’t have a computer on their own or their organization doesn’t allow installing any software on their office machines by themselves(this sadly happens in India, the system is not smart enough to allow safe software to be installed without going through cumbersome authorization processes, you can’t even play ASP.NET site’s tutorial videos in some places :-).

Let me know if this was helpful for you, it will make me to post more such things here.

Note: This post talks about the Visual Studio 2013’s IDE new features. All non-IDE features, new language features, .NET Framework 4.5.1 features and specific code editor enhancements may be discussed in future articles.

Below are the list of Visual Studio 2013’s new features I found in the preview bits.

Roaming Settings

You will not miss noting this feature, because as soon as you launch Visual Studio 2013 for the first time you will get the below dialog prompting you to sign-in.

Screen_155 Jul. 08 15.00.26

You can sign-in to Visual Studio 2013 using your Microsoft account(hotmail.com,live.com,etc.). After you sign-in to Visual Studio 2013 your settings are sync’d with your Microsoft account. Next time when you use Visual Studio 2013 on another computer, you can use the same Microsoft account to sign-in and find your settings applied to it. This is pretty awesome if you have couple of computers, like, one at home and one in the office and if you use Visual Studio in it, I find this useful as I have faced problems in font and keyboard shortcuts settings that people(colleagues) have set differently. Now you don’t need to waste time to repeatedly configure these settings each time you use Visual Studio on a new machine(or in your colleague’s machine).

CodeMap – Visual Debugging

In Visual Studio 2013, when you are in a debugging session you will find an option called Code Map in the debug toolbar.

CodeMap1

When you are in Debug mode, clicking this will open a window which shows the visual representation of the execution flow as shown below.

Visual Studio 2013 New Features - CodeMap2

You can call this window as a Visual Call Stack, which shows the sequence of methods that are invoked. People who have spent hours on debugging will realize the potential of this tool, it will help you visualize the code structure better and will speed up your debugging pace. This also helps newcomers to dev teams to grasp existing code easily if they execute and turn this thing on.

You can add comments as shown below.

Visual Studio 2013 New Features - CodeMap3

You can group items as shown below.

Visual Studio 2013 New Features - CodeMap4

There are a bunch of other things that you can do with the CodeMap window, like, highlight the references to a method box, change colors of the method boxes, change the layout from top-down to left to right, etc.

Peek Definition – Alt+F12

In Visual Studio 2013, you have something called Peek Definition above the Go To Definition command.

ScreenHunter_88 Jul. 20 17.13

Unlike the Go To Definition command, which shows the definition by opening the actual code file where the definition is present as a new tab(or in preview tab); the Peek Definition shows the definition by displaying an inline frame containing the section of the actual source code file containing the definition as shown below.

(click to enlarge image)

ScreenHunter_90 Jul. 20 18.45

This allows the user to get a quick glimpse of the definition without leaving the current code location.

You can also use Peek Definition command again inside the peek definition frame which opens the definition in the same frame but displays a dotted breadcrumb band at the top right of the peek frame as shown below. This frame allows you to navigate back and forth the open definitions(source files). You can use Ctrl+Alt+- and Ctrl+Alt+= to navigate back and forth respectively.

(click to enlarge image)

Visual Studio 2013 New Features-PeekDefinition0

Code Lens

You wont miss noting this feature when using Visual Studio 2013. There will be indicators sitting atop of every method in the code editor. Clicking them will show information about the code section as shown below.

Visual Studio 2013 New Features - CodeLens

Here you can see that a method’s references are shown and seems this info indication doesn’t stop with just references, it has a bunch of things it could show, I found these capabilities of this feature by digging into Visual Studio Options. It looks like it will show Unit test related stuff, Authors, changes made by them, etc. You can find the options at Text Editor>All Languages>Code Information Indicators. I haven’t tried to make it show all the information that it could show, in future I may post more about it.

Browser Link

In Visual Studio 2013, you will find an icon near the Start command as shown below.

ScreenHunter_260 Aug. 09 11.21

This icon is the door to the new feature in Visual Studio 2013 called Browser Link, this provides you a two way link between Visual Studio and your browsers. As a basic functionality it allows you to refresh the browser window that runs your web application from within Visual Studio. As of now Browser Link just refreshes the browser window and I couldn’t find any other use of it apart from this, but I hope more cool features will be added to it in the full release of Visual Studio 2013. To try this just launch your web application and after it gets displayed in your browser, do some modifications to your web app in Visual Studio and click the above shown Browser Link icon, you will find your browser updated with the changes you made in Visual Studio, shortcut Ctrl+Alt+Enter.

You might remember that I wrote here about launching your ASP.NET web applications on multiple browsers at the same time from Visual Studio, now you can interact with all of them in Visual studio 2013 with this Browser Link feature. Browser Link is going to be a great feature and it could include a great bunch of options in it later.

New Blue Theme

Due to the popularity of white on black color schemes, in Visual Studio 2012 a dark theme was introduced. For those who preferred the classic black on white theme a Light theme was also present. In Visual Studio 2013, a new IDE color theme named as Blue is introduced(this is also available with Visual Studio 2012 Update 2).

ScreenHunter_91 Jul. 21 15.34

 

Visual Studio 2013 Light Theme

Visual Studio 2013 Blue Theme

ScreenHunter_90 Jul. 21 15.27  ScreenHunter_91 Jul. 21 15.27

(click to enlarge image)

UI Icons

There have been some debates on the decision of making all the icons in Visual Studio 2012 single colored(Light theme - black on white OR Dark theme - white on black ) some liked the simplicity and some hated to lose the familiarity towards the icons they have been using for years in past versions of Visual Studio. You will immediately note that Visual Studio 2013 has become more colorful. Some of the single colored icons are replaced with colored icons as shown below, click to enlarge the below images.

Visual Studio 2012 - Dark Theme

Visual Studio 2013 – Dark Theme

Visual Studio 2012 - Dark Theme Icon Colors  Visual Studio 2013 New Features - Dark Theme Icon Colors

(click to enlarge image)

Visual Studio 2012 – Light Theme

Visual Studio 2013 – Light Theme

Visual Studio 2012 - Light Theme Icon Colors  Visual Studio 2013 New Features - Light Theme Icon Colors

(click to enlarge image)

I personally like this version of icons than Visual Studio 2012’s, but I too kind of miss the old icons which were there till Visual Studio 2010, mostly the Debugging section’s code stepping icons. When I first started using Visual Studio 2012, I felt I have to put at least some tiny effort to get used to these icons, but I am a shortcut guy so majorly these icon changes don’t affect me much :).

Feedback & Notifications

In Visual Studio 2013, you will be able to easily give feedback about the product to Microsoft using the icon shown below.

ScreenHunter_260 Aug. 09 23.401

Notifications about product updates, etc. are shown in the small area beside this feedback icon. Clicking this flag like icon will open the notifications in a separate pane showing you the list of notifications as shown below.

ScreenHunter_260 Aug. 10 00.21

 

Conclusion

I am sure I would have missed some of the new features of Visual Studio 2013. Let me know in the comments if so. I will include them(of course crediting you :)

Happy Coding !

Bookmark / Share

Build 2013 - live streaming now.. Windows 8.1 revealed.. Visual Studio 2013 preview & .Net framework 4.5.1 preview released !

Build – a Microsoft’s developer conference occurs every year to inform developers around the world about the technologies & tools available for developers in Windows platform..

This year’s event is from Jun 26 to Jun 28
http://channel9.msdn.com/ -live stream

http://channel9.msdn.com/Events/Build/2013 event schedule..

http://www.buildwindows.com/announcement

http://www.microsoft.com/visualstudio/eng/2013-downloads - Visual Studio 2013 preview

Share the info with your friends..
Alchemists turned into chemists when they stopped keeping secrets.
-    Eric Raymond
Happiness quite unshared can scarcely be called happiness; it has no taste.
-    Charlotte Brontë

Bookmark / Share

Launching your ASP.NET web applications on multiple browsers at the same time from Visual Studio(2012)

Visual Studio 2010 offered option to view a particular .aspx page on multiple browsers when you right-click the file and chose Browse With… but it didn’t provide storing the setting and allowing to launch the web page on multiple browsers at the same time when you execute every time.

In this article we will see how this feature is enhanced in Visual Studio 2012; you can set multiple browsers as default and store this setting permanently and when you Debug(F5) you will get a dialog to choose the browser you’d like to debug with or when you Execute without debugging (Ctrl+F5) you will be able to launch the web application in multiple browsers.

As you may have noted from my earlier article about Visual Studio 2012 new features, Visual Studio 2012 has a browser drop down that lets you select the browser that will be used to launch your ASP.NET web application when you debug it (F5) as shown below, as I mentioned in my article, this was achievable in earlier Visual Studio versions via other not-so-quick menu/context menu commands.

Visual-Studio-2012-Browser-Drop-Down

 

If you click the Browse With… menu option shown above, you will be presented with the below dialog.

Visual-Studio-2012-Browse-With-Dialog

This window shows all the names of the browsers installed in your machine. As indicated by the dialog, you can select more than one browser and click Browse to launch the web application in the chosen browsers, this will not launch your web application in Debug mode.

Also, you can select multiple browsers and click Set as Default to make this setting permanent, so that whenever you execute the web application without debugging(Ctrl+F5) it will be launched in these browsers at the same time. The Execute command in Visual Studio 2012 will be captioned as Multiple Browsers instead of the default browser name.

Visual-Studio-2012-MultipleBrowsers-ExecuteButton

 

If you click the Execute command(which will execute your web application in debug mode) you will get the below prompt.

Visual-Studio-2012-DebugMode-ChooseBrowser

You can choose which browser you wish to use for debugging.

I think this particular feature will be a productivity enhancer for web developers who work on achieving browser compatibility and tackle issues arising when providing multiple browser support for their ASP.NET Web Applications.

 

Happy Coding !

isin
Bookmark / Share

Visual Studio 2012 New Features of the IDE - better late than never ;-)

I am making this post thinking “Better late than never”, as I was supposed to make this post a long time ago, actually in the beta period of Visual Studio 2012, like I did with Visual Studio 2010, unfortunately I was held up with other stuff, personal and work related. This post remained as partially completed in my blog’s drafts for a long time which I took and finished.

Note: This post talks about the Visual Studio 2012’s IDE new features. All non-IDE features, new language features, .net framework 4.5 features, new type of app development support like Windows 8 metro app development and specific code editor enhancements will be discussed in future posts.

So with that in mind, here are the new features of Visual Studio 2012’s IDE..

Dark Color Theme for code editor and IDE windows

Visual Studio 2012 provides out of the box option to have a White on Black color scheme, Dark AKA White on Black color schemes have become choice of many developers as many have realized that they are easy on the eyes.

VisualStudio2012-DarkTheme-OptionsDialog

Dark Theme (click to enlarge)

Visual Studio 2012 DarkTheme

 

Light Theme (click to enlarge)

Visual Studio 2012 LightTheme

 

Quick Launch – search the Visual Studio commands/menu options you need and locate it quickly

Seems Visual Studio has more than a whopping 4000 commands, apart from the frequently used commands, it wouldn’t be practical to remember most of the commands, hence Visual Studio 2012 has a cool feature called Quick Launch - Ctrl+Q located in the top right corner in the Visual Studio 2012 IDE as shown below.

Visual Studio 2012-QuickLaunch

You can start typing few letters of the command you are looking for and Quick Launch will provide auto-suggest with commands that starts with the letters you have typed.

Visual Studio 2012-QuickLaunch2

It also shows the shortcut keys for each command which is pretty neat.

Visual Studio 2012-QuickLaunch1

You can also use the Quick Launch command-category shortcut keywords as listed below to narrow down the command search, ex: “@opt project”.

Visual Studio 2012-QuickLaunch Shortcuts

 

Pin Tabs(files) that you use often to the left side of the Tab-well

This is a feature found in Productivity Power Tools for Visual Studio 2010 this allows you to pin tabs that you want to remain open and easily accessible. When you pin a tab it is stuck to the left most corner of the tab-well.

VisualStudio2012-PinTab

 

Search option in IDE windows

Many of the windows in Visual Studio 2012 will have a search option including Solution Explorer and Toolbox.

VisualStudio2012-Search-in-Windows

 

Find and Replace window changes

A minimalistic approach has been taken in designing the new find window present in Visual Studio 2012. The advantage is that the find window will not hide the code window much. Some may miss the old find window which shows shortcuts to turn on/off options like Match Case, Match whole word, etc. This resembles the search option found in modern browsers.

Visual-Studio-2012-Find

Visual-Studio-2012-Find1

 

Preview Tab

Visual Studio 2012 provides you a preview of a file when you select it in the Solution Explorer. Earlier if you want to examine the file contents of a file, you have to open it and see, if you are trying to locate something (and if you can’t use find command for some reason) then you would have opened a lot of files messing up the workspace with lot of open tabs. Now with this preview tab, when you select a file it is opened and placed in the right corner of the tab-well as shown below and when you select another file the currently selected file’s content is shown in the same preview tab.

If you want to keep the file open in a normal tab instead of showing in the preview tab then you can click the Keep Open icon as shown below.

Visual Studio 2012-Preview Tab

This preview tab feature also gives you another behavior which helps you to keep the IDE clean with only the files you like to keep open. Whenever you are debugging and stepping into your code Visual Studio will open other files when there is a chunk of code that is called by your main program file, and if there are lot of files involved then all of them are opened in the end of your debugging (stepping through) session. Now in Visual Studio 2012, the preview tab is utilized when you step through the code for which another file has to be loaded, once the other file’s statements are completed then the preview tab is automatically closed.

Browser Drop Down

The browser drop down shown below provides a quick way to start your ASP.NET web application on any of the browsers installed on your machine, earlier you’d have to do this via other not-so-quick menu/context menu commands.

Visual Studio 2012-Multi browser Drop Down

 

Create Multiple Solution Explorer Instances

Nowadays, in most solutions you work on, the number of projects present are many, but you work only with few of them depending upon the role you play in the project. Visual Studio 2012 gives you a new feature of creating Solution explorer instances showing only a project or folder containing a set of files when you right click them as shown below.

Visual Studio 2012-Multiple Solution Explorer Windows

Visual Studio 2012-Multiple Solution Explorer Windows-Product Folder

 

Page Inspector

Page inspector is another new feature in Visual Studio 2012, it allows you to examine the html/css of a web page similar to IE Developer Tool Bar or Firefox’s Firebug add-on.

You can inspect a HTML element’s HTML and CSS, make edits and try out how it will look in the browser on the fly.

(click to enlarge)

Visual Studio 2012-Page Inspector

 

IIS Express replaces the ASP.NET Development server

In Visual Studio 2012, IIS Express replaces the ASP.NET Development server, more about IIS Express here.

 

HTML5 & CSS3 support

The Visual Studio 2012 editor supports development of HTML 5 and CSS 3 web sites by providing appropriate intellisense and code snippets, will write a future article about this.

 

Unmodified Visual Studio 2010 project files

Visual Studio 2010(SP1) project files are not converted when opened in Visual Studio 2012. So if some of your team members use Visual Studio 2010 and you use Visual Studio 2012 for some reason, then you all can share the same solution/project file without converting to Visual Studio 2012’s project file format.

 

Single compact toolbar for common commands

In Visual Studio 2012, a single compact toolbar provides you with enough commands that you frequently use. This provides more screen real estate to show the code editor.

Visual Studio 2010’s toolbar:

Visual Studio-OldToolbarSection

Visual Studio 2012’s new compact toolbar:

Visual Studio 2012-Single Toolbar

 

Code Editor Enhancements

With every release of Visual Studio the code editor is a primary component which will have lot of new features added to it; which will help the developers improve their productivity. Likewise, in Visual Studio 2012 there are good number of new features added to it.

I will post a future article covering significant new features of Visual Studio 2012’s code editor, but I couldn’t resist talking about one exciting new feature that’s available when you edit CSS files in Visual Studio 2012. As shown below you get a color picker when you enter a CSS style element which requires a HTML color code as its value.

Visual Studio 2012-CSS Editor-Color Picker

 

Conclusion

I have listed some of the significant Visual Studio 2012 New Features of IDE, let me know if I missed anything in the comments.

 

Happy Coding !

Bookmark / Share

Easiest way to Generate Insert Script in SQL Server

We all know that there is no handy built-in command for generating insert statements for the data present in a table in SQL Server (apart from issuing a Generate Scripts… command on the Database and choosing to Script Data also).

sql-server-generate-insert-statements-ssmstools

There is this tool called SSMS Tools pack which I am using for years that provides a handy way to generate scripts for various purposes including Insert statements when you just right click the table for which you need the scripts.

sql-server-generate-insert-statements

You can get the complete set of features provided by the tool here.

I’ll try to post about other cool features of SSMS Tools Pack in future.

Bookmark / Share

Recently I have moved my blog to a new webhost and there are some issues..

Some of my posts are missing, so I am locating and moving them correctly here, 

Just in case you have got it wrong..i meant, moved to new host not a new URL...

Bookmark / Share

Want the dark font color scheme in Visual Studio 2010/2008 ?

If you like the dark color scheme available in Visual Studio 2012 and would be happy to have the same in your Visual Studio 2010/2008, you can have it for at least the code editor font colors by downloading the themes from studiostyl.es. (Note that white-on-black (dark color scheme) is easy on your eyes than usual black-on-white)

I was wondering if anyone could have made a theme based on Visual Studio 2012 and went to studiostyl.es and searched then got couple of dark themes based on Visual Studio 2012 code editor font colors.

One seems to be made using Visual Studio 11(2012) beta, you can get it here. I think this one looks more accurate.

Visual Studio 2011 beta dark color scheme

..and the other one made using Visual Studio 2012 you can get it here.

Visual Studio 2012 dark color scheme

Bookmark / Share