Sublime Text 4 (Dev Build 4050) Changelog - V2EX
jfcherng

Sublime Text 4 (Dev Build 4050) Changelog

  •  
  •   jfcherng Nov 13, 2019 7471 views
    This topic created in 2388 days ago, the information mentioned may be changed or developed.

    首 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

    • Bild 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 replies    2019-11-14 12:27:05 +08:00
    est
        1
    est  
       Nov 13, 2019
    地球上最好的非 web 编辑器。
    anjianshi
        2
    anjianshi  
       Nov 13, 2019
    Mac: fix pinyin input 不知道效果怎么样
    dodo2012
        3
    dodo2012  
       Nov 13, 2019
    现在在 mac 下 3 有很大的性能问题,一打开个目录文件比较多的几乎就是卡死的,要把索引删了才行,我试过几个版本都有这个问题
    kappa
        4
    kappa  
       Nov 13, 2019
    哪看到的
    jdhao
        5
    jdhao  
       Nov 13, 2019 via Android
    666,不过现在用的人没有那么多了。。
    lxk11153
        6
    lxk11153  
       Nov 13, 2019
    @est #1 啥叫非 web 编辑器? vscode 算哪一类?
    lxk11153
        7
    lxk11153  
       Nov 13, 2019
    不知道可以配置换行规则了没? see /t/614442 类似 css 的`word-break` 的问题。
    demo: developer.mozilla.org/en-US/docs/Web/CSS/word-break
    POPOEVER
        8
    POPOEVER  
       Nov 13, 2019
    @lxk11153 electron 包 js 的
    lxk11153
        9
    lxk11153  
       Nov 13, 2019
    @POPOEVER #8 了解了,前不久想换 vscode 来着,后来一看是 electron 系的,就暂缓了,还是 Sublime Text 继续用着先
    jfcherng
        10
    jfcherng  
    OP
       Nov 13, 2019
    @kappa 官方 discord 聊天室 https://discord.gg/HcmwdVK
    jfcherng
        11
    jfcherng  
    OP
       Nov 13, 2019
    @lxk11153 依然可以重,所以是修(或是官方根不知道有)
    lxk11153
        12
    lxk11153  
       Nov 13, 2019
    droiz
        13
    droiz  
       Nov 13, 2019
    v2 的 seo 真是牛批,我 Google 搜 Sublime Text 4 (Dev Build 4050) Changelog,出来的第一个就是这个帖子
    love
        14
    love  
       Nov 13, 2019
    可惜了,如果没有免费又好用的 vscode,sublime 应该活得非常滋润
    Orciorc
        15
    Orciorc  
       Nov 13, 2019 via Android
    自从它的插件安装原地址被防火墙盯上以后,就很少用它了。谁知道防火墙为啥看上它……
    POPOEVER
        16
    POPOEVER  
       Nov 14, 2019
    @lxk11153 只要不把它当万能编辑器、配成各种环境的 IDE,其实还是很快的
    XIVN1987
        17
    XIVN1987  
       Nov 14, 2019
    sbulime、vscode 都在用,,都很好,,
    About     Help     Advertise     Blog     API     FAQ     Solana     3226 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 78ms UTC 13:12 PVG 21:12 LAX 06:12 JFK 09:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86