首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  Sublime Text

Sublime Text 4 (Dev Build 4050) Changelog

  •  
  •   jfcherng · 28 天前 · 1380 次点击

    首個 Sublime Text 4 內測版本

    Dev Channel Changelog

    Build 4050

    13 November 2019

    GPU Rendering

    • New hardware_acceleration setting will composite the UI on the GPU
    • By default, GPU rendering is enabled on Mac, and disabled on Windows and Linux
    • Details about the active GPU will be displayed in the Console

    Context-aware Auto Complete

    • The auto complete engine now suggests completions based on patterns in existing code
    • Uses the entire project as a source, instead of just the current view
    • Plugins may specify symbol kind info to be displayed in suggestions list

    Tab Multi Select

    • When multiple tabs are selected, their contents will be shown side-by-side
    • Side-by-side view is also used when selecting multiple files in sidebar
    • Goto Definition popup allows opening the definition using side-by-side view

    Python 3.8 API

    • Added a Python 3.8 API environment for plugins
    • Plugins can choose Python version via .python-version file in plugin folder
    • Existing plugins are fully supported via legacy Python 3.3 API
    • Many API improvements and additions - see API section for more details

    Editor Control

    • Build systems now use new annotations functionality instead of phantoms, reducing re-flow
    • Caret blinking is disabled by default. Set caret_style setting to smooth for previous behavior.
    • Find results are highlighted on the scroll bar
    • Improved automatic indentation detection
    • trim_trailing_whitespace now trims only newly inserted trailing whitespace by default. Controlled via trim_only_modified_white_space setting.
    • Expanded draw_white_space setting, supporting leading and trailing white space
    • Unicode white space characters, such as the zero width no-break space, are now drawn as hex values. Controlled via draw_unicode_white_space setting.
    • Fixed spelling correction to support languages with upper case characters after start of word
    • Linux: Text drag and drop is now supported
    • Linux: Added support for alternate font weight names
    • Linux: Selection is no longer cleared when another application makes a selection

    Text Commands

    • Improved behavior of Wrap Paragraph
    • Improved behavior of Swap Lines
    • Added Selection/Expand Selection as a general mechanism to expand the selection
    • Selection/Split into Lines will now split a selection into words if the selection doesn't contain any newlines
    • Show a sum in the status bar when there are multiple selections and all of them are numbers
    • Fixed swap_line_down not being able to swap an empty line onto the last line of a file
    • Fixed sort_lines replacing unicode newlines with regular ones

    Snippets

    • Added auto_complete_include_snippets setting, for disabling auto complete integration
    • Added ignored_snippets setting, for disabling default snippets

    Goto Symbol

    • Goto Symbol in Project is now significantly faster on huge projects
    • Icons are now shown next to symbols, indicating the symbol kind
    • Symbols with 3 characters or less are now indexed

    Indexing (Goto Definition)

    • Files ignored by .gitignore are not indexed by default. Controlled via index_exclude_gitignore setting.
    • Files without known extensions are no longer indexed by default. Controlled via index_skip_unknown_extensions setting.
    • Improved behavior with constantly changing files

    Input Handling

    • Modifier key taps can now be used as part of a key binding. For example, ["ctrl", "ctrl"] will trigger when Ctrl is pressed twice without pressing any other keys in between.
    • Linux: AltGr can now be used in key bindings via altgr
    • Linux: Added a workaround for a touchscreen driver bug, which would cause right click and mouse scrolling to stop working
    • Linux: When the menu it hidden, pressing alt will show it
    • Mac: Fix Pinyin input
    • Mac: Keypad keys can now be bound to as expected
    • Mac: Added key bindings for macOS application tabs
    • Windows, Linux: Hide mouse cursor when typing. Controlled via hide_pointer_while_typing setting.
    • Windows, Linux: Fixed being unable to bind Ctrl+Break

    Files and Folders

    • Saving files is now asynchronous
    • When save_on_focus_lost is enabled, closing an unsaved file will save and close it, instead of prompting to save
    • Improved behavior of save_on_focus_lost in conjunction with administrator owned files
    • Added reload_file_on_change setting to control if files are automatically reloaded or not
    • Windows: Fixed Open Containing Folder for UNC paths
    • Windows: Fixed Save dialog not showing for new files with control characters on the first line
    • Windows: Fixed Ctrl+Backspace inserting a DEL character when a dialog is open in the background
    • Linux: Fix recreated directories not working correctly with file change monitoring

    UI

    • Added highlight_gutter and highlight_line_number settings
    • Added the ability to auto hide the menu, tabs, and status bar when typing. See auto_hide_menu and related settings.
    • Window title bar can be controlled by show_rel_path and show_project_first settings
    • Tab context menu now includes Close Unmodified Files and Close Deleted Files entries
    • Themes now have a style property for title_bar element, for better integration with OS "dark modes"
    • Added glow font option to color schemes
    • Linux: Show sequential key bindings in the menu
    • Linux: Fixed context menu position being slightly offset

    Rendering

    • Windows, Linux: Added support for per-display subpixel ordering
    • Mac: Improved window resize performance
    • Windows: Fixed rendering bug where other applications could cause persistent artifacts via window animations

    Application Behavior

    • Added Safe Mode, to simulate a clean install. Enabled by passing --safe-mode on the command line.
    • Added options to hot_exit setting to control behavior when the last window is closed
    • Fixed a possible case where an update loses the current session
    • Settings containing a UTF-8 BOM will no longer fail to load

    Syntax Definitions

    • Added ability to "branch" within syntax definitions, for non-deterministic or multi-line constructs
    • Many syntax highlighting improvements, including significant improvements to:
    • Fixed a performance issue with bounded repeats in regular expressions

    API

    • minihtml now handles list-style-type CSS property - circle, square and disc
    • Improved coverage of plugin profiling
    • The cProfile module is now included on Linux
    • EventListener has many new features and bug fixes
      • on_query_completions() can now
        • return suggestions asynchronously
        • return command completions
        • include symbol kind information
      • New: on_init() is called once with list of views opened before plugin was loaded
      • New: on_exit() is called immediately before plugin_host exits, after API is shut down
      • New: on_text_changed() and on_text_changed_async() provide detailed modification info
      • New methods:
        • on_reload()
        • on_revert()
        • on_new_window()
        • on_new_window_async()
        • on_pre_close_window()
        • on_pre_move()
        • on_post_move()
        • on_post_move_async()
        • on_new_project()
        • on_new_project_async()
        • on_load_project()
        • on_load_project_async()
        • on_pre_save_project()
        • on_post_save_project()
        • on_post_save_project_async()
        • on_pre_close_project()
      • Fixed on_selection_modified() to not be called twice when left clicking
    • View.add_regions() now has an annotations parameter, to allow adding a per-region annotation to the buffer. The exec command now uses this API for build errors.
    • View.element() returns a string describing widget views (find input, quick panel input, etc)
    • Image filenames can be retrieved via Sheet.file_name()
    • Syntax definitions can be queried via sublime.list_syntaxes() and sublime.find_syntax()
    • View.assign_syntax() now fully supports scope names, e.g. "scope:source.c++"
    • Assigning a syntax no longer removes widget settings files from a widget view
    • Added Window.workspace_file_name()
    • Added open_project_or_workspace command
    • append command has new, optional disable_tab_translation argument
    • Improvements to the API, applied to the new Python 3.8 environment only:
      • bool(sublime.Selection()) will return False when len() == 0
      • sublime.load_binary_resource() now returns bytes instead of bytearray
      • Added Selection.iter()
      • Added Region.iter()
      • Added Region.contains()
      • Settings can now be treated like a dict
      • Plugins starting with _ will be ignored, all global will be respected
      • Events won't be reported until plugin_loaded() has been called
      • .pyc files can now be imported when contained within .sublime-package files, although they will not be scanned for plugins
    • The certifi Python package is preinstalled
    • Significant performance improvements when rapidly printing to the Console

    OS Compatibility

    • The following operating systems are no longer supported as a result of adding Python 3.8:
      • OS X 10.7
      • OS X 10.8
      • Windows XP
      • Windows Vista
    17 回复  |  直到 2019-11-14 12:27:05 +08:00
        1
    est   28 天前
    地球上最好的非 web 编辑器。
        2
    anjianshi   28 天前
    Mac: fix pinyin input 不知道效果怎么样
        3
    dodo2012   28 天前
    现在在 mac 下 3 有很大的性能问题,一打开个目录文件比较多的几乎就是卡死的,要把索引删了才行,我试过几个版本都有这个问题
        4
    kappa   28 天前
    哪看到的¿
        5
    jdhao   28 天前 via Android
    666,不过现在用的人没有那么多了。。
        6
    lxk11153   28 天前
    @est #1 啥叫非 web 编辑器? vscode 算哪一类?
        7
    lxk11153   28 天前
    不知道可以配置换行规则了没? see /t/614442 类似 css 的`word-break` 的问题。
    demo: developer.mozilla.org/en-US/docs/Web/CSS/word-break
        8
    POPOEVER   28 天前
    @lxk11153 electron 包 js 的
        9
    lxk11153   28 天前
    @POPOEVER #8 了解了,前不久想换 vscode 来着,后来一看是 electron 系的,就暂缓了,还是 Sublime Text 继续用着先
        10
    jfcherng   28 天前
    @kappa 官方 discord 聊天室 https://discord.gg/HcmwdVK
        11
    jfcherng   28 天前
    @lxk11153 這個問題依然可以重現,所以應該是還沒修復(或是官方壓根並不知道有這個問題)
        12
    lxk11153   28 天前
        13
    droiz   28 天前
    v2 的 seo 真是牛批,我 Google 搜 Sublime Text 4 (Dev Build 4050) Changelog,出来的第一个就是这个帖子🤣
        14
    love   28 天前
    可惜了,如果没有免费又好用的 vscode,sublime 应该活得非常滋润
        15
    Orciorc   28 天前 via Android
    自从它的插件安装原地址被防火墙盯上以后,就很少用它了。谁知道防火墙为啥看上它……
        16
    POPOEVER   28 天前
    @lxk11153 只要不把它当万能编辑器、配成各种环境的 IDE,其实还是很快的
        17
    XIVN1987   27 天前
    sbulime、vscode 都在用,,都很好,,
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1345 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 32ms · UTC 23:46 · PVG 07:46 · LAX 15:46 · JFK 18:46
    ♥ Do have faith in what you're doing.