How can I work on the same code with my friend in vs code? [closed] - visual-studio-code

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I and my friend want to create a website. We're using Vs code. How we can work on the same code in vs code? I'm looking for something that lets me edit on the code at any time I want and the same thing for him.

Use GitHub
GitHub is a development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside 50 million developers.
Github is a web-based platform used for version control. Git simplifies the process of working with other people and makes it easy to collaborate on projects. Team members can work on files and easily merge their changes.
You should definitely make your account on github as a developer as it helps alot.
Check it out here: https://github.com

You can use https://github.com/. Once you are done doing your code you have to upload it on github. Same as your friend can do. And the important thing is you can see/undo your previous code if you do anything wrong.

This is an opinionated question and answer, but since you are using VsCode, I would recommend Microsoft's Live Share . Since Microsoft is the creator of VsCode, I would guess this is going to be your best option to stay within the editor.
Visual Studio Live Share enables you to collaboratively edit and debug with others in real time, regardless what programming languages you're using or app types you're building. It allows you to instantly (and securely) share your current project, and then as needed, share debugging sessions, terminal instances, localhost web apps, voice calls, and more! Developers that join your sessions receive all of their editor context from your environment (e.g. language services, debugging), which ensures they can start productively collaborating immediately, without needing to clone any repos or install any SDKs.
Additionally, unlike traditional pair programming, Visual Studio Live Share allows developers to work together, while retaining their personal editor preferences (e.g. theme, keybindings), as well as having their own cursor. This allows you to seamlessly transition between following one another, and being able to explore ideas/tasks on your own. In practice, this ability to work together and independently provides a collaboration experience that is potentially more natural for many common use cases.

Well, I would recommend GitHub, is a great tool. If you like to learn from video, I would recommend this video. Or read this article.

The best way is live share
Live Share is an extension for VS Code that enables real-time collaboration between developers. It gives users the ability to share a session with someone else, allowing them to edit code as well as share a sever and debugging session

Related

Game development with multiple people in Unity3D: How could we work on the same project simultaneously? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
First of all, we're all beginners, so I am really sorry if this is a trivial question.
We're developing a game in Unity3D. We have two programmers, and one artist. We'd like to make our life easier by not just simply communicating via Facebook and sending our stuff back and forth. I know about GitHub, but I have a couple of problems with it.
It's not free for closed source projects - which would be ideal. Is there an alternative? Is this even the right kind of site to use?
Stupid reason, but I just can't comprehend how it works/how to use it. Is there an easy tutorial for it or something?
Is it even 'compatible' with Unity3D? Since I don't really know how
GitHub works, this might also be a really stupid question.
First of all you can use Bitbucket to host your stuff. Its like github without the open source community.I'm using it on a similar project I'm working on with some guys. It's important you understand that git is version control software developed by Linus Torvalds (creator of the Linux kernel). Git can be used to "commit" changes to a project. Then your other coder could grab those code(script in unity?) files and load them into him project. It is kind of overwhelming to learn to use at first, but it gets easy once you get it. Really learning to use git is one of the best things you can do for yourself.
As far as using git goes, I use linux so I can just 'man git' to look at commands and then use said commands in the shell. Mac uses bash so it probably is run right from the shell there too. Honestly I don't know at all for windows.
Here are a couple of resources:
https://try.github.io/levels/1/challenges/1
https://www.youtube.com/watch?v=TI3yVcSahzk
If I had more time I would look for a really good one for you, but I'm going to be late for work!
I have developed some Unity3D projects using GitHub before. So to answer question 3 and the last part of 1 first, yes Unity projects use a file-system architecture that is perfectly compatible with GitHub and once your used to it it is a great tool for team development.
Answer for question 1:
GitHub is just a name brand for a centralized version control system and there are other brands out there with similar offerings such as bit bucket. Google this term for more info. also look into distributed version control as well.
In all honesty though, if your new to developing, the product you will be making will most likely not be of much interest to other people on GitHub and your public repository will probably go unnoticed. If you believe that what you are creating is of such great value it needs to be kept secret, then investing a few dollars a month in a premium service is recommended anyway.
For other options, one would be to set up a central Git repository on a server (or one of your home computers) that you or one of you project mates is running. This might be a more complicated method but you would learn a lot of other useful things along the way.
Answer for question 2:
See -https://guides.github.com/activities/hello-world/- for github's intro tutorial. Also Youtube has some decent offering if you search for how to use Git Hub.
It can be a little daunting to work with something new and attempt to understand the documentation. If you are planning on getting serious about development though, especially in a corporate setting, you need to learn GIT and practice reading and understanding documentation.
Good Luck!
I recommend git for just about any text-based version control. If the files are binary heavy, it still works but it's not git's strength.
Until you get the central hosting worked out, you can use git bundle to share the changes offline.

Extremely lightweight CMS with inline editing? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I help make promo/event websites that shoot up and come down anywhere from a month to six months.
Clients ask for minute text edits a lot during the creation period, and during the live period they sometimes like to swap out images or text every few weeks to function as updates. It's inconvenient for the client to do this all through emails and phone calls.
I have been asked to do research to find a CMS that will let the clients do minor edits like this.
I was pointed to big dogs like Wordpress, Drupal, Joomla, and Typo3, but these are all very heavy-handed.
I settled on trying ImpressPages because of its inline editing and undo log but it too began to ask for a lot - I tried to adapt an old project to it but it insists all content calls and form submissions adhere to its framework so it's definitely not easy to drop in.
I don't need a CMS that handles page creation or any sort of overhead.
What I need is a CMS that doesn't care about any facet of the page other than editing text, swapping images, and probably a pretty secure login. Since we take care of the backend and it's only live for a few months it doesn't need detailed project maintenance and certainly the client should not have access to that.
Do you have any suggestions for lightweight CMSs that are easy to pop into a project?
11/11/14 EDIT:
Results so far:
I think a good alternative for this problem is Create.js and one of its children ContentBlocks, however they require node.js and REST which I have yet to really figure out. Quite different from what I know. However, this system allows for editing in-line on the page and saving right there, with no overhead menus or settings or anything. Just edit divs. Here's a link:
http://createjs.org/
children projects can be found by snooping the github
There are more CMS options out there than almost any other web technology. That said some are more and less easy to customize. It sounds like you've steered away from most of the common answers, although I really think you might want to look at WordPress again, with a little setup work and customizing the admin page it can be super lean and "dead simple" like Tumblr's interface.
That said there are a few more good options that are very light and yet full of potential!
Database back end
Perch – This one isn't free, but it's not expensive. It is built with the designer in mind (by other designers) and is also built with the end user in mind, thus it is light, flexible and the interface is not daunting to the non dev. And has very very good support.
Cake PHP – A lovely bit of OSS work, that will need some setting up by you or another dev, but once you have boilerplate/templates it should be simple to roll and unroll small sites.
Anchor – Another OSS project that seeks to be powerful but slight in it's footprint, but probably more structured (less pre-dev time required) than Cake PHP.
Flat file
No DB required, the user just puts their stuff in folders (like on their desktop) and then they get webpages - kinda brilliant and maybe just what you're looking for.
Pico – Uses PHP templates, but a simple file folder based structure, so there is very little learning curve to running or setting up the site.
Kirby – While this is not free, it is very well supported by original developers. It is designed with the goal of being dead simple to use and support.
Dropplets – This one is very very simple, possibly too simple, but there is very little to make a confusing interface out of. This one is very blog focused.
Hope that helps guide your search, as this list is far from exhaustive.
I have also been looking something easy and lightweight for clients to use for days. There are tons of options but there always seems to be something a bit off.
Finally yesterday I found two very good candidates:
Really impressed with both of them have been developing with Drupal, Conrete5, Wordpress.. but this is what simple sites need! Wow!
TidyCMS
http://tidycms.com/
Free / cheap license
Static pages hosted on your site + a connector that connects to the hosted editor. Basic package free.
"TidyCMS is a flat databaseless CMS that makes HTML-files editable and dynamic."
A Finnish startup who are creating a super simple product!
It could not be easier you just throw in a static html-template and put a TidyCMS-conector folder and browse to the subfolder. The subfolder connects to the hosted editor. The editor lets you click on page elements to make them editable. The interface is pretty okay. A bit rough though still, with some glithes. Seems to be in heavy development, but it's already pretty usable. The UI hangs sometimes, for instance when saving changes and you have to reload.
Instant Update
http://instant-update.com/
Open Source! Free! GNU General license.
This seems to be more mature. Also handles static html/php -files but the CMS seems to need a database. The inline editing is pretty good and stylish. The system also has backend with simple user and page management. Still in development by a small group of guys. I'm sure they'll welcome more people.

Alternatives to Git? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
Is there any version control software with the functionality of Git, but which is not under a viral license? - A "viral license" being, by my definition, one which requires derived software to be under the same or an equally-restrictive license.
I'm not interested in an argument on or discussion about the GPL; it's outside the scope of this question and website.
Thanks.
Fossil is (and Codeville was) a BSD-licensed distributed revision control system.
Note that unless you're actually modifying the version control software itself, the license doesn't affect you; you're free to develop non-GPL'ed software using a GPL'ed tool to manage revisions.
The other options are :
Perforce
Bazaar
SVN
CVS
UPDATE:
Since 2 years passed since started professionally working with git (after 20 years of not-git...) I can say this:
GIT has it's advantages when it comes to merging code bases between branches and multiple users. Once you master it, and learn to ignore its - sometimes utterly confusing command line UI - can be easy to work with.
On the downside, GIT IS complex to understand and LEARN. There is a long steep learning phase, especially if you work from the command line in multiply branched repository (the common and the recommended approach). Working with UI tools like InteliJ IDE's can hide some of the details, but these require their learning attention and time too + some not so basic GIT knowledge. And this knowledge is required by ALL members of your team.
OLD AND (not so) BELOVED ANSWER:
Forget the license... You want to NOT use GIT for so many other reasons...
If you want things to work faster for your team - stay away from GIT. Why not use SVN? It is supported by any service that supports GIT, and is the most popular alternative to GIT (as far as I know).
To commit/merge/manage a team in GIT it'll take you exponentially more time than other SVN/Fossil/... All in the name of advance "distributed" design, and a rich set of methods to kill your code, merge it wrongly, give you so many options to do horrible mistakes (that happen to pro's and newbies alike), and do simple things the HARD HARD way. Were in reality it only serves the ritual hungry souls of geeky programmers, who would otherwise have to go home late and face the empty walls of their houses... (poetic answer too).
REALLY - It would actually be funny if it wasn't the number one pain-in-the-arse time killer in the office. And once you go GIT you can never go back, so my advice, don't let the geeks have it. Keep it out or pay the price.
And, yeah, I know the crowd here, and I am more than willing to loose a few points. It's not like it means anything real.

Collaborative Code Editing [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I work for a small web development company (6 people) and we've been in the market for a new code editor/development environment for quite some time.
Currently, we're using Dreamweaver's (CS3) coding side for our site development. Each site's files is hosted on a Dreamhost ftp server. All 6 of us work on the same set of live files on the remote ftp server. Dreamweaver has a handy file locking functionality that prevents us from overwriting each others changes by keeping us out of the same files.
Now, we've found that this form of development allows for very rapid development and love how easy it is to get things done. However there are many things we don't like. One of which is Dreamweaver's code editor. We also don't like our lack of code history for each site.
Does anyone know of a good alternative to Dreamweaver that has similar file locking/ftp functionality?
If not, could you explain to me the best configuration of a source control system for our team? We're willing to look at GIT, Mercurial, and Subversion. The new system would ideally:
1). Support multiple different code editors on different operating systems. (Windows 1st choice.)
2). Be almost as easy and quick to push out code as currently.
3). Allow for working on the files outside of the office network.
4). Be inexpensive.
I'm probably just showing my ignorance of how to use a version control system, but it doesn't seem logical for each of us to have a testing server on our computers with every single site setup with our own test database... That's very time consuming
What's your solution to our problem? I think we'll either have to upgrade to the latest version of Dreamweaver and stick with it forever, or we'll have to find some sort of ftp collaborative editor, or we'll have to implement version control.
Do the benefits of version control outweigh the extra amount of time it entails to push out code?
it doesn't seem logical for each of us
to have a testing server on our
computers with every single site setup
with our own test database... That's
very time consuming
That's generally the way to do it. Most modern frameworks will let you set up your development server in minutes, if not seconds -- using an embedded http server and database, for example. If you are stuck on an ancient platform, there are solutions like wamp that are only a little more difficult. Remember, that it's time that you spend once, but it lets you be faster. If the project is going to take any longer than a few hours, it should be beneficial. You don't waste time on debugging things your fellow developer just changed, or recovering production data from that silly database manipulation mistake you just made.
(Oh, and if your websites are just HTML+JavaScript, then you don't need any server locally, obviously.)
As for version control systems, the ones you mentioned are fine, with SVN requiring a little more setup and network access to the central server for commits. Git and Mercurial let you work and commit offline, and then push your changes to the central server or even just exchange them between developers. I think Mercurial works better on Windows at the moment.
Michael I hear your pain.
I can't claim to have fully researched all avenues, but I have really begun to love Git recently.
My first hurdle was learning about how Revision Control Systems (RCS) work. Before I would pick SVN vs Git vs HG vs Bazzar vs etc I evaluated what I wanted to do. And that was to work locally then share my work, and push to a webserver.
I found this great comparison website: http://whygitisbetterthanx.com
From that I could clearly see that Git was worth the time to learn. As the backwards learner I am I dove into a project and learned how quickly things could become messy, then I began reading: http://gitready.com/ and http://book.git-scm.com/ and http://progit.org/book/
Then I realized I needed an organizational strategy. I went searching and found something I (and a lot of others) liked: http://nvie.com/posts/a-successful-git-branching-model/
This is also a great resource:
http://danielmiessler.com/study/git/
There's a bit of a primer. Let me try to answer your questions more directly.
1.) Git is a command-line tool. For windows there's cygwin.
I found the documentation at github to be the best. Even if you don't plan on using them for code hosting. Have a look at http://help.github.com/ Use the setup git link to get started.
2.) Since you ask for versioning there is a bit more work. Its a different model, a different way of thinking. Rather than not be able to edit the file which is currently what happens, your commits might collide, and in that case git provides great diff tools to help resolve the conflict.
3.) Git is whats called a DCVS or distributed version control system. Here's an example:
lets say you need to do some work over the weekend. You do a git pull from the server before you leave work. At home you can continue to work, create new branches etc. Then when you have an internet connection you can push your changes back to the server.
4.) Git is free!
As for pushing your work to the webserver you'll need to setup something like this:
http://toroid.org/ams/git-website-howto
Looks pretty easy, I'm gonna try it out next weekend.
I hope you find some of what I wrote helpful, if not maybe the links are.

How can I organize all my code, data, scripts, tasks etc? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
What tools or approaches would you recommend to a 'one-man team' to keep organized?
I'm doing research that involves a lot of coding, writing hundreds of throw-away perl scripts, C++ binaries that get used until I find some better approach, large amounts of data that gets preprocessed in different ways, where some new preprocessing makes the old way obsolete -- until I find out that the old way was actually better, and so on. My work is inherently a moving target, as I have to try many things out, and often none of it is perfect.
It's not a completely chaotic situation, but it's also far from perfect. Are there general approaches that you would recommend in such a situation? I do use SVN for my code, although not for the different versions of the data because that gets too big. It's hard to keep track of all the scripts and binaries, so I always comment them, write down how I ran them etc. But I'm curious if you have some additional ideas.
(I work on a linux system.)
I'm using a wiki (TiddlyWiki in my case, as that runs absolutely anywhere - all it needs is a browser with JavaScript) as my "engineers notebook". Almost anything goes in there - lists of questions (and later on their answers), procedures (steps by step instructions), notes of what I put where (might work for your "data"), phone numbers (easy to find with a full text search), anything goes.
As my tasks are not that code-heavy, I'm even using it to store code-snippets (mostly SQL statements for me). Using a "real" versioning system is better if you want to keep track of different versions. Other than "use it" I can't offer specific advice for this area.
However, what has been important for me in GTD fashion: Use a simple system for almost everything. That way, the time to search for something and to decide what to put where is cut down.
Keep all your code in your Version Control System, and create build/run scripts for each. Your data you are going to have to carefully file away (since you don't want to put it in SVN).
The other thing I would add would be a wiki so you can make notes quickly about each test/script/application.
why not checkout some opensource projects to see how they organize their code bases?
even though you are a one-man team. it'd be smart to organize your project so it would be easy to add more programmers.
also if you're worried about filesize for data files you might want to checkout git. the index size is usually a lot smaller than that of svn.
Version Control is a must, as others said. Keeping descriptive labels of milestones on Version Control is very very helpful I think.
Also as IronGoofy said, I keep my snippets in my Personal Wiki TiddlyWiki, I uploaded it to my website, so I can access it anywhere, anytime.
As an additional option you may think a Time Tracker application. There are many free Time Trackers. I use ASP.NET's Time Tracker Starter Kit. You can keep evolution of your software, bugfixes, milestones.