Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Software-update: Visual Studio Code 1.34.0

Visual Studio Code logo (79 pix) Visual Studio Code is een opensourcecode-editor met ondersteuning voor IntelliSense, debugging, Git en code snippets. Ondersteuning voor de gangbare script- en programmeertalen is aanwezig en het kan daarnaast via extensies uitgebreid worden. Microsoft heeft versie 1.34 uitgebracht en hierin zijn de volgende veranderingen en verbeteringen aangebracht:

Editor

Stable CodeLens

VS Code now optimistically caches CodeLens locations and restores them immediately after switching editors. This fixes an issue where CodeLens lines would shift slightly when switching between editors.

Languages

Lower rank for CSS property values with vendor prefix

CSS property values prefixed with dash '-' (such as -moz-grid or -ms-grid), now come after grid in auto completion.

Debugging

debug.showSubSessionsInToolBar

We have introduced the setting debug.showSubSessionsInToolBar which controls whether the debug sub-sessions are shown in the debug tool bar. When this setting is false, the stop command on a sub-session will also stop the parent session. This setting default is false.

Tasks

Terminate all tasks

The Tasks: Terminate Task command has a new option to terminal all tasks if there are multiple tasks running. If this is an action you do often, you can create a keyboard shortcut for the command with the terminateAll argument.

{
  "key": "ctrl+k t",
  "command": "workbench.action.tasks.terminate",
  "args": "terminateAll"
}
Automatically show Problems panel

The new revealProblems task property allows you to automatically show the Problems panel. The property values are always, never, and onProblem.

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "npm",
      "script": "watch",
      "problemMatcher": "$tsc-watch",
      "isBackground": true,
      "presentation": {
        "reveal": "always",
        "revealProblems": "onProblem"
      }
    }
  ]
}

Contributions to extensions

Preview: Remote Development

Note: The Remote Development extensions require Visual Studio Code Insiders.

Visual Studio Code Remote Development allows you to use a container, remote machine, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.

The extensions in the Remote Development extension pack run in the context of the remote workspace while VS Code feels like it does when you run locally.

Vetur

The Vetur extension now offers semantic diagnostics, hover information, jump to definition, and find references for the JavaScript expression inside Vue's template interpolation region:

You can read more about this feature in the Vetur documentation.

Other improvements include reduced memory usage and import path completion. You can learn more about them in the Vetur changelog.

Extension authoring

Multi-extension debugging

In this milestone, we've added support for debugging more than one extension at a time. This is useful if you are developing a set of tightly coupled or interdependent extensions.

Previously this feature was only surfaced via the command-line interface of VS Code, now the argument --extensionDevelopmentPath can be specified more than once. Typically --extensionDevelopmentPath is used in the launch configuration of an extension. When developing more than one extension, we recommend combining the individual extension projects into a multi-folder workspace and create a new launch configuration (stored in the workspace .code-workspace file) that uses multiple --extensionDevelopmentPath arguments for the individual extensions.

Here is an example workspace .code-workspace file with two extensions, hello1 and hello2, and a single launch configuration for both extensions:

{
  "folders": [
    { "path": "hello1" },
    { "path": "hello2" }
  ],
  "launch": {
    "configurations": [
      {
        "type": "extensionHost",
        "request": "launch",
        "name": "Launch Two Extensions",
        "args": [
          "--extensionDevelopmentPath=${workspaceFolder:hello1}",
          "--extensionDevelopmentPath=${workspaceFolder:hello2}",
        ],
        "outFiles": [
          "${workspaceFolder:hello1}/out/**/*.js",
          "${workspaceFolder:hello2}/out/**/*.js"
        ]
      }
    ]
  }
}

Please note that in this release, it is not possible to create a preLaunchTask that builds both extensions by combining the preLaunchTasks of the individual extension projects.

Command links in notifications

It was always possible to include links in notification messages via the syntax [link name](http://link), but this only worked for links that open in a browser. Now you can also invoke a command from a link with the syntax [link name](command:<command id>). The command with the provided identifier will be triggered when the user clicks the link.

Links in notifications allow for title

You can now add a title to links in notifications that will be shown when the user hovers over the link. The syntax is [link name](link "<the title>").

Proposed extension APIs

Every milestone comes with new proposed APIs and extension authors can try them out. As always we are keen on your feedback. This is what you have to do to try out a proposed API:

  • You must use Insiders because proposed APIs change frequently.
  • You must have this line in the package.json file of your extension: "enableProposedApi": true.
  • Copy the latest version of the vscode.proposed.d.ts file into your project.

Note that you cannot publish an extension that uses a proposed API. We may likely make breaking changes in the next release and we never want to break existing extensions.

vscode.workspace.workspaceFile

There is a new workspace property returning the location of the workspace file. For example: file:///Users/name/Development/myProject.code-workspace or untitled:1555503116870 for a workspace that is untitled and not yet saved.

Depending on the workspace that is opened, the value will be:

  • undefined when no workspace or a single folder is opened.
  • The path of the workspace file as Uri.

If the workspace is untitled, the returned URI will use the untitled: scheme.

One use of the workspace file location is to call the vscode.openFolder command to open the workspace again after it has been closed:

  vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);

Note: It is not recommended using the workspace.workspaceFile location to write configuration data directly into the file. You can use workspace.getConfiguration().update() which will work both when a single folder is opened as well as an untitled or saved workspace.

Machine-specific settings

If you have settings that allow users to customize an executable path and if these paths need to be scoped to the machine they are running on, you can now classify such settings as machine scoped. Extension authors set the scope property when contributing to the configuration extension point. Machine-specific settings can only be configured for User settings.

"configuration": {
  "title": "Git",
  "properties": {
   "git.path": {
          "type": [
            "string",
            "null"
          ],
          "markdownDescription": "Path and filename of the git executable.",
          "default": null,
          "scope": "machine"
        },
  }
}

Engineering

Rewritten filesystem provider for local files

Extensions have been able to provide their own filesystem implementations for custom resources (read more here). However, VS Code's own implementation for local files was not implemented with the same extension APIs. This resulted in subtle differences when dealing with local file resources compared to resources coming from extensions. Over the last two milestones, we rewrote our local file system provider to use the extension APIs for consistency.

New documentation

Python Azure Functions

There is a new Deploy Python to Azure Functions tutorial that describes how to create and deploy Python serverless Azure Functions.

Miscellaneous

Language Server Protocol#

The Language Server Protocol has proposed support for the following new features:

  • Selection ranges: to compute selection ranges for an array of positions. Sent from client to server.
  • Call hierarchy: to compute a call hierarchy for a given symbol. Sent from client to server.
  • Progress: to initiate progress reporting from the server. Sent from server to client.

The new features are available in the next versions of the vscode-languageclient and vscode-languageserver npm modules.

Notable fixes

  • 48259: Explorer Respects Trash Capability from FileSystemProvider
  • 68276: Call Stack "Paused On Breakpoint" UI not visible for long thread names
  • 69603: Terminal window crashes in Mac OS
  • 72110: Debug Console render newlines unnecessary
  • 71737: Scrolling in debug window is behaving strange
  • 71588: Error revealing files in the explorer
  • 70492: ‘Report issue’ button on ‘Running extensions’ causes tens of duplicate issues

Versienummer 1.34.0
Releasestatus Final
Besturingssystemen Windows 7, Linux, macOS, Windows 8, Windows 10
Website Microsoft
Download https://code.visualstudio.com/#alt-downloads
Licentietype Voorwaarden (GNU/BSD/etc.)

Reacties (16)

Wijzig sortering
Deze editor veroorzaakt op ons werk verhitte discussies; Ik ben na minstens 5 jaar Sublime Text gebruikt te hebben, inmiddels een jaar volledig over op deze VSC, en vind hem geweldig.

Hij is iets trager, maar out-of-the-box veel eenvoudiger voor beginners om het in te stellen, goede documentatie, zeer veel kwalitatieve plugins. Ik gebruik heb voornamelijk voor front-end werk, de backend mensen in onze organisatie verkiezen nog altijd PhpStorm, wat voor mij persoonlijk overkill is (in mijn situatie).

Geweldige editor.
Wat zijn de tegenargumenten van jouw collega's?
Ik doe een gok: Ik vreet niet wat ik niet ken ;)

[Reactie gewijzigd door gimbal op 17 mei 2019 16:15]

Exact dat. En dat PHPStorm veel meer kan, 'en een echte IDE is'.

Tja, daar kan ik weinig tegenin brengen. Maar voordat je een beginnende ontwikkelaar hebt uitgelegd hoe je een theme moet toevoegen of een snippet maken in Sublime, of erger: HTMLhint / JS linting, heb je dat al 10x gedaan in VSC.

Ben een trouwe fan van Sublime geweest, maar de ontwikkeling bij Microsoft gaat echt 100x sneller.

[Reactie gewijzigd door Finder op 17 mei 2019 17:00]

Ik ben zo'n beginner, en kan beamen wat jij zegt. Het is een zeer fijne editor met veel mogelijkheden. Althans, genoeg mogelijkheden voor wat ik er mee moet doen.
Ik gebruik voor zowel mijn backend en frontend zowel de Jetbrains suite als VS code. Vooral de "CTRL+D" functie voor mass edits is echt geweldig.
Ik merkte wel tijdens het developen van een Angular SPA, die communiceerde met een .NET Core API, dat ik een nogal trage debugger kreeg in VSCode. Weet niet welke extensie het veroorzaakte, maar wanneer ik aan het debuggen was kon ik geen enkele regel code typen zonder dat VSCode vasthing.
Ja hier ook. Maar in de tijd dat PHPStorm is opgestart en werkbaar is heb ik al lang een fix doorgevoerd in VSC. :+

Ik ben inmiddels een half jaar volledig over naar VSC van Atom. Vond deze ook te traag en instabiel worden. PHPStorm werkt goed maar vind ik de laatste tijd veel rare quirks hebben en vind ik ook te traag.
Verhitte discussies over editors is heel herkenbaar. Ik vind het een kwestie van smaak zoals veel in Computerland (systemen, tools, talen). Maar je reactie herinnerde me aan wat ik jaren geleden heb meegemaakt dat emacs de 'verplichte' editor werd op het werk. Voor een vi gebruiker geen pretje. Begin van het einde en was snel weg. Altijd gebruiken wat je het beste bevalt.
Kijk ook eens naar https://github.com/microsoft/azuredatastudio dit is dezelfde look-feel als vscode maar dan voor database management.
Goede tip, kende ik nog niet.
Maar heeft niet zoveel features als DBeaver
Ook zeer tevreden over deze editor. Hiervoor met Atom gewerkt maar die vond ik soms wat sluggish. En nu de Vscode editor. Heerlijk en waar ik heel tevreden over ben is de vi-mode. Maakt het switchen van vi vanaf de command line naar de editor iets prettiger. En wat ik heel fijn vind zijn de formatters voor de code.
Voor Javascript/Typescript werk gebruik ik niets anders meer. Het is gewoon een prettige context-bewuste editor met wat milde IDE aspiraties zonder daardoor de traagheid van een IDE te adopteren.
om het met een quote van @Loller1 uit één van de vorige topics te zeggen
Kunnen we stoppen met deze onzin over VSCodium. Ten eerste schakelt dat project telemetry niet uit maar stuurt het dat door naar een andere locatie, veen shadier dan dat kan het niet. Ten tweede kan je net zo goed en véél veiliger gewoon de Visual Studio Code instellingen hiervoor gebruiken (telemetry.enableTelemetry": false en "telemetry.enableCrashReporter": false, voor de liefhebbers)

Op dit item kan niet meer gereageerd worden.


OnePlus 7 Pro (8GB intern) Microsoft Xbox One S All-Digital Edition LG OLED C9 Google Pixel 3a XL FIFA 19 Samsung Galaxy S10 Sony PlayStation 5 E3 2019

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank, Intermediair en Independer de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True