Author Tang Xiaoyin
Beijing time October 25th - 27th, 2018 Microsoft Technology Summit (Microsoft Tech Summit) was held in Shanghai World Expo Center, on the second day of Keynote, Microsoft Global Senior Vice President, Development Platform Business Unit General Manager, Development Julia Liuson, the top-level code goddess, brings a new service —— Visual Studio Live Share that is shocking and exciting for developers. This service not only enables developers to program collaboration, cross-terminal debugging, collaboration across different platforms such as Windows, macOS, Linux, etc., as well as writing code across Visual Studio and VS Code, more importantly. Yes, you can write Java directly!
At this point, the first IDE Visual Studio finally began to support the Java language, and also Visual Studio IntelliCode — — intelligent programming through artificial intelligence, context awareness, give targeted advice to improve developer programming Speed and accuracy.
1. How to write Java in Visual Studio and VS Code?
At the conference, Pan Zhenglei said, “Now it is a time for developers to show their talents. Every company that has a job needs strong software development capabilities. On the other hand, for developers, this is also an era full of opportunities and challenges, as new technologies continue to emerge and need to be learned all the time. Our development cycle is getting shorter and shorter, and the survival of the enterprise requires software to provide its core value. Then, for developers, better tools are needed to help them achieve these goals. I have been working on the development tools and platforms at Microsoft and have been working on providing the most efficient and agile development tools for all developers, no matter what kind of product, what kind of operating system, and what language to use. And cloud services. ”
To this end, Pan Zhenglei led the Microsoft Development Platform Division for in-depth development and optimization of the development tools and platforms under the Microsoft system, first and foremost in the world's popular IDE — — Visual Studio and open source and Lightweight Editor —— VS Code.
At the conference site, two engineers from Microsoft used Visual Studio 2017 and Visual Studio Code to perform demonstrations of Visual Studio Live Share on different operating systems. This function not only helps the R&D team communicate in real time, but also coordinates the developers. Write, change, and debug code at the same time.
To do this, open your Java project in VS Code and click Share on the status bar. Visual Studio Live Share will help you create a share link and send the link to your colleagues. When your colleague opens the link, it automatically associates with his Visual Studio, so your colleague can share your code with you and be free to browse other project source files. Not only that, your colleagues don't need to install any Java JDK runtime environment.
And, the Visual Studio team knows that getting the answer to the problem is not the best result for developers. “It’s better to teach fish than to give it to fish”, so Live Share also provides developers with a follow-up function. Through it, you can see all the actions of your colleagues, you can restore them every step of the way. What code and which functions.
Developers know that debugging is a sign of whether an IDE is complete, so Live Share also supports debugging, it can help your colleagues, start the debugging process on your machine, and fully control your debugging process. No matter where you are, through Live Share, you can bring your colleagues to your side and help you solve problems you can't solve.
In this regard, Pan Zhenglei said: "I have been doing Visual Studio for many years, and I am often asked a question, when is Visual Studio supporting Java? Today, everyone is sneak peek for the first time. Visual Studio Live Share contains several fairly important features. First, the above uses Visual Studio and VS Code to collaborate on different operating systems. Secondly, Live Share can arbitrarily call other files in the project. It is not For simple file sharing, we can use Go to Definition to perform code jumps. More importantly, it uses the same Debug Session to display variable value changes and debug in real time in many different devices. Excitingly, it supports multiple languages, and you can use it for teamwork no matter what language you use. Today we are demonstrating Java here, but we have very strong support for languages such as Python and C#, so this feature is not limited to a certain language. ”
Pan Zhenglei continued to say: “Live Share function is developed for teamwork, but I am particularly pleased that users around the world have seen some very creative usage and application scenarios, such as teachers in many places. It comes to distance learning, and some companies use Live Share to interview new employees and more. ”
2. Intelligent programming of Visual Studio IntelliCode
To improve the efficiency of developers, Microsoft also introduced the Visual Studio IntelliCode intelligent code-assisted development service.
I believe that many developers have used the code completion feature in the IDE countless times. Visual Studio IntelliCode is an enhanced version of automatic code completion supported by AI technology, but it does not stop there. It also identifies missing points in the refactoring, misused variables, non-canonical variable names, etc. Automated analysis and review.
IntelliCode is able to accurately perceive the context to give very accurate recommendations. In the auto-complete drop-down, the prompts that appear are no longer in lexicographic order, but a best option for developers.
What's striking is that IntelliCode also analyzes the style of the code and the coding habits from the developer's code. When the developer submits or browses the code, it will automatically scan the code to find out where the inconsistencies are, and then give Targeted recommendations, which greatly increase the speed and accuracy of writing code.
Pan Zhenglei said, “IntelliCode is just the first step in intelligent programming. Our vision is to make full use of artificial intelligence to improve developer programming efficiency and code quality, so we are exploring more scenarios and developing corresponding AI models. For example, how to use machine learning to find frequently generated bugs to avoid developers repeating the same mistakes, and use AI to assess the risk of change. If the risk is small and the code is automatically submitted, if the risk is very high, then recommend the most appropriate Reviewer to ensure whether Can be qualified and so on. ”
3. More and more open Microsoft: not only Java, Python, but also OC, Swift, React Native, etc.
At the same time, for iOS and Android App development, Visual Studio also withdrew from the App Center and integrated the six functions that were originally required by Xamarin's HockeyApp, Xamarin Insights and Azure application services into one service, which greatly improved the developer's orientation. The degree of automation that iOS and Android develop, test, and publish applications.
With App Center, developers can develop Objective-C, Swift, Java, Xamarin, and React Native apps in the cloud, and App Center automatically adapts tests to thousands of devices, quickly sending apps to testers or posting directly Go to the app store and help developers monitor and collect fault reports, all of which can be done efficiently and automatically.
4. Microsoft loves open source: after acquiring GitHub
Today, Microsoft officially completed a $7.5 billion acquisition of GitHub, and Microsoft Corporate Vice President Nat Friedman officially became CEO of GitHub.
I still remember that when the news came out in June, developers at home and abroad have opposed it. Although Microsoft has been joining the most open employees on GitHub for three consecutive years, there are still many doubts about GitHub’s acquisition by Microsoft. Kill the vitality of open source. In this interview, in the interview with CSDN (ID: CSDNNews), Pan Zhenglei first affirmed the GitHub open source property acquired by Microsoft "never", GitHub still operates independently, and immediately said: "When we When the announcement of the acquisition of GitHub, there were three main types of discussions in the popular technology community in the United States. First, do not believe in all major companies. Second, use the past to evaluate Microsoft, such as based on what Microsoft did 10-15 years ago. To judge whether you can trust Microsoft. Third, many developers can see that Microsoft has made a lot of progress and contributions to the open source community in recent years. In fact, after Microsoft announced the acquisition of GitHub, although GitLab has a week of traffic growth. But we also saw that GitHub's user growth at that time far exceeded the daily level, and Microsoft also gained a large number of supporters on GitHub. Therefore, I hope that you will not look at Microsoft from a past perspective, but look at Microsoft with your current actions. ”
In addition, Pan Zhenglei also talked about the recent addition of Microsoft to OIN (Open Invention Network) to contribute more than 60,000 patents to all open source patent alliances including Linux. “ As long as you are a member of OIN, you can try all the patents contributed by Microsoft for free, which is our determination to open source. ”
On the other hand, for China's open source, Pan Zhenglei talked about a discovery that in this year's GitHub report, China has seen second place in the open source field after the US, "and there are a lot of developers involved in China." This is really a very good trend in open source projects. I am very pleased to see that top Internet companies such as Tencent and Ali have begun to open up their internal technology. This has played a very good leading role and hopes that more Chinese companies can join open source. Microsoft has been operating open source in China for many years. For example, in 2014, it established joint ventures with several major companies and communities to support various open source projects. At the same time, in support of the community, Microsoft has contributed a lot of open source projects in China. Do a lot of work to support the open source community. ”
However, for the use of domestic open source projects, Pan Zhenglei has a little suggestion, that is, "China's open source community needs to be more in line with the international, to form a concept —— not that open source projects can be used casually, clear source license protocol. There are some big cloud service companies in China that do not follow the corresponding Licence well. This may be a misunderstanding of everyone's understanding of open source. Open source is not free to use source code, but also needs to clarify the type of license agreement, such as GPL, BSD, MIT, Mozilla, Apache and so on. ”
5. Artificial intelligence, blockchain, and IoT are booming. Where do client developers go?
At the conference site, the author and Ms. Pan Zhenglei talked about a domestic technology ecology problem, that is, the outbreak of artificial intelligence in the past two years has caused many developers to rush to post in the AI field such as algorithms when posting resumes, which directly leads to the algorithm supply greater than Seeking a situation where the client is scarce. So before and after today, the headlines are directly pointed out in the emails sent to the candidates. “The current resume of the algorithm engineers is far beyond the demand, while the resumes of Android and iOS are very scarce, and the back-end, front-end, measurement and big data are also in short supply.”
In this regard, Pan Zhenglei shared his own opinions and suggestions: “The status quo of China's trend seems to be completely opposite to the world. It is difficult to recruit data scientists in the United States. It is a model for giant companies to save money and grab people. In fact, from the perspective of global trends, all development engineers are scarce, at least there are millions of gaps. However, as far as the overall technical trend is concerned, no matter what the developer's original professional field needs to maintain the state of learning, Microsoft has mentioned in this year's Build conference that in the next few years, every development engineer needs to help organizations or The ability of the team to develop intelligently, not everyone needs to be a data expert, but the simple AI algorithm should be mastered as a basic ability. For example, 30 years ago, no one knows what DataBase is, but now many developers know some databases. knowledge. ”
"What Microsoft has been doing is to continuously lower the technical threshold through development tools and frameworks. For example, in mobile development, Microsoft is reducing the difficulty through Xamarin, Visual Studio, etc., for the development of the Internet of Things, there is a special Internet of Things. Development kits, while big data development has R, Python development capabilities, AI has Visual Studio Tools for AI and ML.NET (author's note: Microsoft open source C#-based machine learning library). ”